WG211/WG211-Aims-2011-02-25

From WG 2.11
Jump to: navigation, search



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)