Program (2mb PDF)

  Invited Speakers
  Research Papers
  Student Research Comp.
  Doctoral Symposium
  Educators' Symposium
  Wiki Symposium
  Dynamic Lang. Symp.
  Practitioner Reports
  Lightning Talks
  Instant Arts School Exp.
Other Events
Resort Map (364kb PDF)
Resort Map (JPG)



view, help

"Software Factories"




  > Tutorials > All Tutorials

 : Sunday All Day Tutorials (8:30 - 17:00) : Sunday : Patterns and Pattern Languages : Programming Techniques

Software Factories

Pacific Salon 3
Sunday, 8:30, full day



Jack Greenfield, Microsoft Corporation
Steve Cook, Microsoft Corporation

Tutorial number: 18

Assembling Applications with Patterns, Models, Frameworks and Tools

Increasingly complex and rapidly changing requirements and technologies are making development increasingly difficult. Promising advances have been made, however, in component based and model driven development, software architecture, aspect oriented programming, and requirements, process and software product line engineering. This tutorial presents Software Factories, a paradigm for automating software development that integrates these advances to increase agility, productivity, and predictability across the software life cycle. We will show a worked example of a software factory and perform small group exercises that help participants explore this approach. Participants will learn about the software factory schema, a graph of viewpoints used to separate concerns, relating work done at one level of abstraction, in one part of a system, or in one phase of the life cycle, to work done at other levels, or in other parts and phases, and about how the schema can be used to deliver guidance and to support its enactment through model transformation, constraint checking and other techniques. We will also describe the software factory life cycle and show how software factories can be specialized and composed. Finally, we will discuss software supply chains and show how Software Factories compose across organizational boundaries.

Advanced: Attendees should be competent practitioners of current software development methods, practices and technologies. Familiarity with software product line practices, model driven development and component based development methods will be helpful.

Jack Greenfield, Microsoft Corporation:  Jack Greenfield is an Architect for Enterprise Frameworks and Tools at Microsoft. He was previously Chief Architect, Practitioner Desktop Group, at Rational Software Corporation, and Founder and CTO of InLine Software Corporation. At NeXT Computer, he developed the Enterprise Objects Framework, now a part of Web Objects form Apple Computer. A well known speaker and writer, he is a co-author of the book "Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools", with Keith Short, Steve Cook and Stuart Kent. He has also contributed to UML, J2EE and related OMG and JSP specifications. He holds a B.S. in Physics from George Mason University.

Steve Cook, Microsoft Corporation:  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. 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 modeling 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.