WG211/WG211-Aims-2011-02-25
IFIP WG 2.11 on Program Generation
Mission Statement
Aim
Raising the level of abstraction in software specification has been a fundamental goal of the computing community for several decades. In particular, the pervasive need for software in modern engineering creates both the need for and the opportunity of a style of programming at a level of abstraction farther from the execution platform and nearer to the problem domain. This approach has been termed _program generation_ or _generative programming_, since the target programs generated are at the level of abstraction at which, traditionally, programming has been done by hand.
The goal of IFIP WG 2.11 is to investigate a wide range of techniques to make this approach to programming practical for a wide range of software development tasks. This includes technology for:
- enabling application programmers to write programs more conveniently and without the need of expert knowledge in computer science
- enabling domain experts to design a domain-specific programming language and to generate a language processor (a compiler or interpreter) and an integrated development environment (IDE) for it
- specifying a generic program, which can be specialized conveniently to diverse programs in a fixed application domain, and providing automatic tools for generating the specialized programs and navigating between them
Scope
The working group covers the following research areas (and maybe others):
- programming language design, semantics and implementation
- program analysis and verification
- program synthesis
- type systems and type theory
- programming models and programming methodology
- software engineering
- software product lines
- programming paradigms (object-oriented, aspect-oriented, feature-oriented, functional, logic)
- software-oriented architectures, model-oriented design
- program optimization
- program parallelization
- program libraries
- code generation and optimization
- program analysis and composition tools and IDEs
Targeted execution platforms may be of any kind and include, in particular:
- software architectures and virtual machines
- the Cloud
- multicores, manycores and GPGPUs
- mobile devices and embedded systems
- FPGAs and other malleable hardware
Objectives
The objectives of the working group are:
- to foster collaboration and interaction between researchers in the areas listed above and to make them aware of the common goal of generative programming
- to demonstrate concrete benefits in specific application domains
- to develop techniques for assessing productivity, reliability and usability
- to determine the potential of a common platform and infrastructure for program generation and transformation
- to examine and further the adoption of program generation and transformation features in mainstream programming languages and environments(
(Posted by Ulrik P Schultz, WG 2.11 Vice Chair - 25 Feb 2011)