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

"International Workshop on Software Factories"




  > Workshops

 : Monday

International Workshop on Software Factories

Royal Palm Salon 6
Monday, 8:30, full day



Jack Greenfield, Microsoft Corporation
Steve Cook, Microsoft Corporation
Krzysztof Czarnecki, University of Waterloo
Jeff Gray, University of Alabama at Birmingham
Michael Stal, Siemens AG
Gabor Karsai, Vanderbilt University
Markus Voelter, Independent Consultant
Don Batory, University of Texas at Austin
Brian Henderson-Sellers, University of Technology at Sydney
Cesar Gonzalez-Perez, University of Technology at Sydney


More than twenty years ago, many organizations sought to increase productivity and predictability in software development using a methodology called Software Factories that relied on structure and discipline. Recently, a different methodology with the same name has been gaining industry wide momentum. In addition to its name, it shares the goals of the previous generation of Software Factories, but it takes an entirely different approach to realizing them.

Instead of structure and discipline, these Software Factories rely on automation, integrating advances in component based and model driven development, software architecture, aspect oriented software development, generative programming, requirements engineering, process engineering, and software product lines. It seeks to increase productivity and predictability, without losing agility, using multi dimensional separations of concern to support systematic reuse in specific system families, to deliver appropriate guidance in context to developers building family members, and to support the enactment and validation of that guidance using tools.

It differs from other model driven methods through its reliance on domain specific languages and software product line practices, and its emphasis on integrating modeling with patterns, frameworks, testing, refactoring, and other agile, code focused development practices. It differs from traditional approaches to product line engineering through its use of models as a basis for automation, and through its emphasis on integrating product line and mainstream development practices.