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)
Topic revision: r2 - 04 Mar 2011 - 20:51:34 - Main.UlrikSchultz