Third International Conference on

Generative Programming and Component Engineering (GPCE'04)

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

Sponsored by ACM SIGPLAN, in cooperation with ACM SIGSOFT and Microsoft

electronic submission at


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
    • Reuse, meta-programming, partial evaluation, multi-stage and multi-level languages, step-wise refinement
    • Semantics, type systems, symbolic computation, linking and explicit substitution, in-lining and macros, templates, program transformation
    • Runtime code generation, compilation, active libraries, synthesis from specifications, development methods, generation of non-code artifacts, formal methods, reflection
  • Generative techniques for
    • Product lines and architectures
    • Embedded systems
    • Model-driven architecture
  • Component-based software engineering
    • 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
    • Domain-specific languages (DSLs) including visual and UML-based DSLs
  • Separation of concerns
    • Aspect-oriented programming, feature-oriented programming,
    • 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.


The conference will be held in Vancouver Trade and Convention Center and Pan Pacific Hotel in Vancouver and will be co-located with OOPSLA 2004.

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 the 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 20 pages. For the formatting details see

Important Dates

Technical papers

  • Pre-submission: March 12, 2004 (closed)
  • Submission: March 19, 2004 (closed)
  • Notification: May 17, 2004 (closed)
  • Final version: July 25, 2004 (closed)

Submissions of proposals

  • Workshops: March 19, 2004 (closed)
  • Tutorials: April 2, 2004 (closed)
  • Demonstrations: July 2, 2004 (closed)


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


General chair

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

Program committee chairs

Program committee

Workshop Chair

  • Zino Benaissa (Intel)

Tutorial Chair

  • Jeff Gray (University of Alabama at Birmingham)

Demos Chair

Steering Committee