Third International Conference on
       Generative Programming and Component Engineering (GPCE'04)

                     Vancouver, October 24-28, 2004
                co-located with OOPSLA 2004 and ISMM 2004


Electronic submission is now open


Important Dates

    * Pre-submission: March 12, 2004
    * Submission:     March 19, 2004

Page limit is 20 pages LNCS format


Generative and component approaches have the potential to revolutionize 
software development in a similar way as automation and components 
revolutionized manufacturing. Generative Programming (developing 
programs that synthesize other programs), Component Engineering (raising 
the level of modularization and analysis in application design), and 
Domain-Specific Languages (elevating program specifications to compact 
domain-specific notations that are easier to write and maintain) are key 
technologies for automating program development.

GPCE arose as a joint conference, merging the prior conference on 
Generative and Component-Based Software Engineering (GCSE) and the 
Workshop on Semantics, Applications, and Implementation of Program 
Generation (SAIG). The goal of GPCE is to provide a meeting place for 
researchers and practitioners interested in cutting edge approaches to 
software development. We aim to foster further cross-fertilization 
between the software engineering research community on the one hand, and 
the programming languages community on the other, in addition to 
supporting the original research goals of both the GCSE and the SAIG 
communities. We seek papers both in software engineering and in programming 
languages, and especially those that bridge the gap and are accessible to 
both communities at the same time.

Topics of Interest

The conference solicits submissions related (but not limited) to:

   * Generative programming
      o Reuse, meta-programming, partial evaluation, multi-stage and 
        multi-level languages, step-wise refinement
      o Semantics, type systems, symbolic computation, linking and 
        explicit substitution, in-lining and macros, templates, 
        program transformation
      o Runtime code generation, compilation, active libraries, 
        synthesis from specifications, development methods, generation 
        of non-code artifacts, formal methods, reflection
   * Generative techniques for
      o Product lines and architectures
      o Embedded systems
      o Model-driven architecture
   * Component-based software engineering
      o Reuse, distributed platforms, distributed systems, evolution, 
        analysis and design patterns, development methods, formal methods
   * Integration of generative and component-based approaches
   * Domain engineering and domain analysis
      o Domain-specific languages (DSLs) including visual and UML-based DSLs
   * Separation of concerns
      o Aspect-oriented programming, feature-oriented programming,
      o Intentional programming, and multi-dimensional separation of concerns
   * Industrial applications

Reports on applications of these techniques to real-world problems are 
especially encouraged, as are submissions that relate ideas and concepts 
from several of these topics, or bridge the gap between theory and practice. 
The program committee is happy to advise on the appropriateness of a 
particular subject.

Paper Submission

Authors are invited to submit a title and abstract by March 12, 2004, 
and a full paper by March 19, 2004. These deadlines are firm. 
Simultaneous submission to other venues and submission of previously 
published material are not allowed. Electronic submission will be 
required, except by special arrangement with the program chairs. Authors 
will be notified of acceptance by May 17, 2004. Final versions of 
accepted papers must be submitted by July 25, 2004.

Accepted papers will appear in the conference proceedings published in 
the Springer-Verlag Lecture Notes in Computer Science (LNCS) series 

Submissions must be in PDF, must conform to the LNCS style, and be no 
longer than 15 pages. For the formatting details see 

Other Contributions

Work related to generative programming and component engineering can also
be presented in other forms than papers. GPCE has separate days for 
tutorials and workshops. During the conference there are sessions for tool 
demonstrations and practitioner reports. If you want to organize a workshop, 
present a tutorial, or demonstration, see the information on the 
conference website for details about format and submission. Contact the 
relevant chair for more information.

Important Dates

Technical papers

    * Pre-submission: March 12, 2004
    * Submission:     March 19, 2004
    * Notification:   May 17, 2004
    * Final version:  July 25, 2004

Submissions of proposals 

    * Workshops:      March 19, 2004
    * Practitioners:  April 30, 2004
    * Tutorials:      April 30, 2004
    * Demonstrations: July 2, 2004


    * Tutorials:      October 24, 2004
    * Workshops:      October 25, 2004
    * Papers:         October 26-28, 2004


General chair

    * Tim Sheard (OGI School of Science & Engineering at OHSU)

Program committee chairs

    * Gabor Karsai (Vanderbilt University)
    * Eelco Visser (Utrecht University)

Program committee

    * Uwe Assmann (Linkopings Universitet)
    * Don Batory (University of Texas)
    * Jan Bosch (Universiteit Groningen)
    * Jean Bezivin (Université de Nantes)
    * Jim Cordy (Queen's University)
    * Krzysztof Czarnecki (University of Waterloo)
    * Mathew Flatt (University of Utah)
    * Robert Glück (University of Copenhagen)
    * George Heineman (Worcester Polytechnic Institute)
    * Michael Leuschel (University of Southampton)
    * Karl Lieberherr (Northeastern University)
    * Simon Peyton Jones (Microsoft Research)
    * Douglas R. Smith (Kestrel Institute)
    * Gabriele Taentzer (Technical University of Berlin)
    * Todd Veldhuizen (Indiana University)
    * Kris de Volder (University of Britisch Columbia)
    * Dave Wile (Teknowledge Corp.)
    * Alexander Wolf (University of Colorado at Boulder)

Workshop Chair

    * Zino Benaissa (Intel)

Tutorial Chair

    * Jeff Gray (University of Alabama at Birmingham)

Demonstrations Chair

    * Simon Helsen (University of Waterloo)