est. 1962, revised 1982, 1990
To obtain a deeper understanding of programming concepts in order to improve the quality of software by studying all aspects of the software development process, both theoretical and practical.
The scope of the committee encompasses all aspects of the software development process including the specification, design, implementation and validation of software systems. Areas of present activity are:
WG2.1 - Algorithmic Languages and Calculi
est. 1962, revised 1963, 1990, 1992
To explore and evaluate new ideas in the field of programming, possibly leading to the design of new languages.
· the study of calculation of programs from specifications;
· the design of notations for such calculations;
· the formulation of algorithm theories, using such notations;
· the investigation of software support for program derivation;
· continuing responsibility for ALGOL 60 and ALGOL 68.
WG2.2 - Formal Description of
est. 1965, revised 1991
The aim of the Working Group is to explicate programming concepts through the development, examination and comparison of various formal models of these concepts.
The Working Group will investigate formalisms and models which represent different approaches to formal specification of programming concepts. The models of concern must, at least in part:
· apply to the actual computing milieu;
· have sufficient generality to describe total systems or useful subsystems;
· treat either:
- problem specification or
- solution specification;
· provide practical guides towards derivation of:
· assist in standards development and specification;
· have a pedagogical utility.
WG2.3 - Programming Methodology
est. 1969, revised 1991
To increase programmers' ability to compose programs.
· identification of sources of difficulties encountered in present day programming;
· the interdependence between the formulation of problems and the formulation of programs, and the mapping of relations existing in the world of problems into relations among programs and their components;
· intellectual disciplines and problem-solving techniques which can aid programmers in the composition of programs;
· the problem of achieving program reliability;
· the consequences of requirements for program adaptability;
· the problem of probability of program correctness and its influence on the structure of programs and on the process of their composition;
· guidelines for partitioning large programming tasks and defining the interfaces between the parts;
· software for mechanized assistance to program composition.
WG2.4 - Software Implementation Languages
est. 1973, revised 1991, 1992
To promote the exchange of information between researchers and users of languages for the description of software systems at all stages of development and support. The particular focus of the group is upon the pragmatic engineering aspects of the problem: measurements, evaluation, critical comparisons, and development of economically viable techniques.
· experience in the actual use of systems implementation languages;
· the relation of language design to the problems of system maintenance and enhancement;
· impacts of programming methodology on system implementation languages;
· compilation techniques for system implementation languages;
· software and hardware environments to facilitate the design, construction and maintenance of large software systems;
· software portability and reusability, and their relationship to machine dependence.
WG2.5 - Numerical Software
est. 1974, revised 1991, 2006
To improve the quality of scientific computation by promoting the development and availability of sound numerical software.
1. Environment. The definition from a numerical standpoint of a set of hardware and software features for a computing system.
2. Tools. The development and improvement of programming languages and other tools for numerical computation.
3. Algorithms. The establishment of guidelines for the assessment of numerical algorithms and their implementations.
4. Software. The establishment of guidelines for the preparation, interoperability, verification, validation, documentation, distribution and maintenance of numerical software.
5. Data. The establishment of guidelines for the validation, documentation, preservation, and distribution of numerical data.
6. Communication. The exchange of information concerning numerical software and the determination of the needs of computer users.
WG2.6 - Database
est. 1974, revised 1985, 1991, 1997
For the benefit of society, to promote visibility and to increase the impact of research and development in the database area, especially in the fields defined in the scope of the working group.
· To promote quality and relevance of academic and industrial research and development in the database area.
· To promote ethical behavior and appropriate recommendations or guidelines for research related activities, e.g. submission and selection of publications, organization of conferences, allocation of grants and awards, and evaluation of professional merits and curricula.
· To promote cooperation between researchers and with other established bodies and organizations pursuing the above aims.
· To contribute to assessing the scientific merits and practical relevance of proposed approaches for data and knowledge management.
The notion of database has evolved to include systems that accept, describe, store and enable manipulation and presentation of data, information and knowledge in a wide spectrum of forms, ranging from tuples to rules, text, images, sounds and others, with their corresponding operators, usage and management.
The group's interests cover formalisms, models, architectures, techniques and methodologies for the purpose of designing and realizing such database systems.
These currently include in particular:
· new models, languages and theories for database design and representation
· new architectures and techniques, e.g. data warehouses, data mining, multimedia and spatio-temporal databases
· impact of new communication technologies, such as Internet, broadband networks or wireless communications
· understanding, reuse and interoperation of existing data stores
· visual user interfaces and information visualization
· new methodologies for building database applications
WG2.7 - User Interface Engineering
est. 1975, revised 1987, 1991
To investigate the nature, concepts and construction of user interfaces for software systems.
· increase understanding of the development of user interfaces based on knowledge of system and user behaviour.
· provide a framework for reasoning about interactive systems;
· provide an engineering model for the development of user interfaces.
WG2.8 - Functional Programming
est. 1987, revised 1991
To study the design, implementation, and use of functional (applicative) languages.
· semantic theories for functional languages;
· specification and correctness for functional programs;
· data and demand driven execution models;
· programming with higher-order functions;
· functional approaches to input-output and persistent memory;
· programming systems based on functional languages;
· novel architectures for functional programming systems;
· implementation based on combinator graph reduction;
· multiple processor implementations;
· programming styles and techniques appropriate for functional languages;
· applications and experience.
WG2.9 - Software Requirements Engineering)
The aim of the Working Group is to develop a better understanding of:
· the elicitation, specification, analysis and management of the requirements for large and complex software intensive systems;
· the interpretation and documentation of those requirements in such a way as to permit the developer to construct a system which will satisfy them.
The Scope of the WG includes all aspects of requirements engineering. Some examples of areas of special interest are:
· formal representation schemes and requirements modelling;
· descriptions of the requirements engineering process;
· tools and environments to support requirements engineering;
· requirements engineering methods;
· requirements analysis and validation;
· requirements elicitation, acquisition and formalisation;
· methods and tools for verification of implementations compliance with requirements;
· reuse and adaptation of requirements;
· domain modelling and analysis;
· requirements engineering for distributed, safety-critical, composite, real-time and embedded systems.
WG2.10 - Software Architecture
The purpose of WG 2.10 is to further the practice of software architecture by integrating software architecture research and practice.
Software architecture is concerned with
· the structure and organization by which components and subsystems interact to form systems, and
· the properties of a system that can best be designed and analyzed at the system level, for example end-to-end performance and system-family compatibility.
Software architecture is important because
· it captures and preserves designers' intentions about system structure, thereby providing a defense against design decay as a system ages, and
· it is the key to achieving intellectual control over the enormous complexity of a sophisticated system.
Some of the concerns of a software architect are
· early analysis of critical whole-system properties and
· preservation of the integrity of design over time in the face of system modifications and the creation of families of related systems.
The aspects of software architecture within the working group's scope are:
· identifying common problems encountered by practitioners,
· investigating notations, languages, techniques, tools, and methodologies for improving the practice of software architecture; current areas for improvement are describing software architectures, supporting reuse at the architectural level, interoperability and integration, evaluating and analyzing software architectures (e.g. for fulfillment of requirements or properties, comparing design alternatives, etc.), supporting the correspondence between the architecture and the implementation, reverse-engineering the architecture of an implemented system,
· training, education, and certification of software architects.
WG2.11 Program Generation
Generative approaches have the potential to revolutionize software development as automation and components revolutionized manufacturing.
At the same time, the abundancy of current research in this area indicates that there is a host of technical problems both at the foundational and
engineering levels. As such, the aim of this Working Group of researchers and practitioners is to promote progress in this area.
The scope of this WG includes the design, analysis, generation, and quality control of generative programs and the programs that they generate.
Specific research themes include (but are not limited to the following areas):
WG2.12/12.4 - Web Semantics
est. 2004, revised 2005, dissolved 2018
WG2.13 Open Source Software
To enable a diverse community of researchers and practitioners to rigorously investigate the technology, work practices, development processes, community dynamics within free, libre and open source software (OSS) systems, complementing appropriately other IFIP Working Groups where OSS is increasingly relevant.
Software engineering perspective
Social science perspective
External perspectives & influences
est. 2011, revised 2012
AIMS and SCOPES
The new working group is proposed as a TC2, TC6, and TC8 initiative. Its goal is to organize and promote the exchange of information on fundamental as well as practical aspects of service-oriented systems. In doing so, the working group will consider service-oriented systems from a technological perspective, but it will also address their business aspects and economic impact. The aim also is to structure a research community that comprises both academia and industry (maybe through living labs) and become an active, permanent, and international forum on services-oriented systems. Besides the technological underpinnings, the working group will address the different facets of the discipline. It will also try to organize current initiatives and research, and propose suitable and sustainable future research directions.
WG2.16 Programming Language Design
To explore and evaluate new ideas in programming language design. Our stance is that programming languages are foremost a medium for expressing the structure and intention of software, and communicating these to other programmers. As such human factors must weigh heavily in language design decisions, requiring a well-judged balance between conflicting goals that are qualitative in nature.