Program-Transformation.Org: The Program Transformation Wiki

The ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering (GPCE'02)

A joint event of GCSE and SAIG. (Formerly called GCSE/SAIG'02). Part of PLI?02, Pittsburgh, PA, October 6-8, 2002.

Program generation has the prospect of being an integral part of a wide range of software development processes. Many recent studies investigate different aspects of program generation, including their semantics, their application, and their implementation. Existing theories and systems address both high-level (source) language and low-level (machine) language generation. A number of programming languages now support program generation and manipulation, with different goals, implementation techniques, and applications. The goal of this conference is to provide a meeting place for researchers and practitioners interested in this topic. A particular area of interest is component-based software development, which bears the promise of considerable productivity increases to software development comparable to the introduction of the assembly line in manufacturing. But due to the very same sophistication that makes components useful, their maintenance can be hard. Generative programming presents a promising approach to alleviating the above problems, as changes affecting components can now be more effectively managed during the generation process rather than at the component level. The goal of this joint event is 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 GCSE and SAIG communities. We seek papers both in software engineering and programming languages, and especially those that bridge the gap. Being accessible to both communities at the same time is also valued. The conference solicits submissions related (but not limited) to:

  • Generative Programming: Reuse, meta-programming, partial evaluation, multi-stage and multi-level languages,
  • 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.
  • Product Lines and architectures
  • Industrial Applications
  • 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, analysis, and languages
  • Separation of Concerns: Aspect-Oriented Programming, Intentional Programming, and Multi-Dimensional Separation of Concerns

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.