BASTA 2011 - Workshop About Software Factories

24 October 2011 - Presentations

Ok, I feel ashamed. Already more than three weeks have passed since BASTA 2011 has ended - and I did not publish my slides and samples yet. However, today I finally found the time to write this blog post.

My BASTA week started with a full-day workshop about software factories. I covered the following topics:

  1. Introduction to software factories
  2. How to design class libraries that will be used in you software factory
    1. Scenario Driven Design
    2. Framework Design Guidelines for .NET and C#
    3. Enable domain-specific modelling using a XAML-enabled class library
    4. Using StyleCop and Visual Studio Code Analysis for automated code quality assurance
  3. Visual Studio Extensibility (especially VS Templates)
  4. T4 Templates
    1. Compile-time
    2. Runtime
  5. Domain-specific languages (DSLs)
    1. Graphical DSLs
    2. Textual DSLs
    3. Implementing a DSL with ANTLR
  6. Managed Extensibility Framework (MEF)
  7. Scripting with Dynamic Language Runtime (DLR)
  8. Generating professional documentation with Sandcastle

In the workshop I demonstrated the use of the technologies mentioned above in a single continuous example. It enabled domain-specific modelling using XAML. The application used the model to offer a WPF-based user interface that is extensible using modules (using MEF). Additionally it is scripting-enabled (Python). On the level of source-code the sample follows the framework design guidelines of Microsoft (completely StyleCop and Code Analysis warning free).

Download the slides for the workshop (German). You can also download the complete sample code that I developed during the workshop.