Software Reengineering Projects

RENAISSANCE

Sources:

RenaissanceWeb
ESPRIT RENAISSANCE

Funding Body:

ESPRIT

The RENAISSANCE project provides a systematic method for software system evolution.

The RENAISSANCE consortium includes partners from both industry and academia. The industrial partners have identified a real need for managing their substantial base of legacy systems. These are systems which may be business-critical, but which prove difficult and expensive to maintain.

All partners have collaborated to develop a comprehensive method for managing the evolution phase of the software lifecycle. The method itself is supplemented by accompanying practical advice and techniques for evolution planning, architectural modelling and migration to client/server architectures. The method has also been refined and evaluated by the industrial partners.

The RENAISSANCE software evolution method is available as a practical guide entitled the "RENAISSANCE of Legacy Systems".

The RENAISSANCEWeb is funded through this project as part of its exploitation strategy.

Go to this site
Go to the RENAISSANCE of Legacy Systems book.

Legacy Data Migration

Sources:

Cooperative Systems Engineering Group - University of Lancaster

Funding Body:

EPSRC

The overall aim of this work is to investigate the migration of legacy product data to organisational Intranets to support new product development processes in the manufacturing industry.

The project looks at ways to:
1. Document a process so that it can be interrogated by a user
2. Manage an inventory of legacy product design documents which may exist in many different forms.

Go to this site

Systems Reengineering Patterns

Sources:

Department of Computer Science - University of Edinburgh

Funding Body:

EPSRC

This project applies the patterns approach to the problems posed by the reengineering of large systems. A software reengineering pattern is defined as "a description of an expert solution to a common systems reegnineering problem, including its name, context and advantages and disadvantages". The site offers some project information, including contact information and publications as well as some candidate patterns. Interested visitors are invited to join a mailing list.

Go to this site

SPICE

Sources:

Australian Software Quality Research Institute

Funding Body:

International Committee on Software Engineering Standards ISO/IEC JTC 1/SC 7

SPICE is a major international initiative to develop a Standard for Software Process Assessment. This standards-based approach is expected to benefit both the software industry and the user organisations. The standard can help organisations to improve their processes, as well as to assess their capabilities and those of their suppliers.

Go to this site

PURE - Program Understanding and Reengineering

Source:

IRST

The goal of the PURE project is to develop technologies to analyze software systems or sub-systems, either at a fine-grained level or at a more coarse grained level aiming at evaluating system characteristics, supporting user-assisted migration or restructuring, and more generally increasing software artifacts quality.

Go to this site

RE2 - Reuse Engineering

Source:

RE2

Funding Body:

CNR - Italian National Research Council

The RE2 project defines a reference paradigm which decomposes a reuse engineering process into five sequential phases: Candidature, Election, Qualification, Classification and Storage and Search and Display.

The project is jointly carried out by the University of Naples and the Centre for Software Maintenance at the University of Durham UK.

Go to this site

GRASP - Graphical Representations of Agorithms, Structures and Processes

Source:

GRASP

Funding Bodies:

NASA Marshall Space Flight Center
DARPA - Department of Defense Advanced Research Projects Agency
DISA - Defense Information Systems Agency

The GRASP project has developed and prototyped a new algorithmic level graphical representation for software: the Control Structure Diagrams (CSD). The objective of these diagrams was originally to improve the comprehension efficiency of ADA source code.

Prototype tools are available for download and support Ada 95, C, Java and VHDL in both reverse and forward engineering modes.

Go to this site

CORET - Object-Oriented Reverse Engineering

Source:

CORET

Funding Body:

FWF

CORET aims at transforming legacy data processing systems written in C to a modern C++ architecture. It focuses on guiding such a transformation process by different kinds of patterns on different levels of abstraction, thereby integrating human expertise in order to overcome the limits of automated reverse engineering tools.

The project has developed a program transformation process called Capsule Oriented Reverse Engineering Method that performs a re-architecturing of procedural software to an object-oriented architecture.

The project will prototype a toolset to demonstrate the feasability of the approach.

Go to this site

ROCOCO

Source:

GMD IBE

Funding Body:

BMBF - Bundesministerium fuer Bildung, Wissenschaft und Technologie

Language:

German only

This German project contributes to making the exploitation of object-orientation and reuse a reality for existing legacy systems written in COBOL. The project focuses on an object-oriented approach allowing the identification, re-architecturing and eventual reuse of suitable components in legacy COBOL code.

The work is carried in cooperation with the IBM science centre in Heidelberg and the CAI Systemhaus in Rimpar bei Wuerzburg.

The project pages are in German only.

Go to this site

The EDCS Program - Evolutionary Design of Complex Software

Source:

EDCS

Funding Body:

DARPA - Defense Advanced Research Projects Agency, USA

The Evolutionary Design of Complex Software (EDCS) program addresses the need for military systems to evolve over time. The most likely way in which this can be achieved is identified as by changing the software. The program is concerned with creating systems that can be more easily evolved, the incremental adaptation of systems through software changes and the search for methods allowing currently installed systems to migrate to more evolutionary architectures.

The program funds roughly forty technology research projects, which are divided into five broad clusters: Architecture and Generation, Dynamic Languages, High Assurance/Real-time Systems, Information Management and Rationale Capture.

In addition to its funding activities the program also deals with the integration of the resulting technologies.

Go to this site

ARES - Architectural Reasoning for Embedded Systems

Source:

ARES

Funding Body:

ESPRIT

This project aims to enable software developers to explicitly describe, assess, and manage architectures of embedded software families. To this end the project selects, extends and develops a framework of methods, processes and prototype tools for incorporating architectural reasoning along the life-cycle of embedded software families. The project hopes to help to design reliable systems with embedded software that evolve gracefully.

The first phase of the project is devoted to analysing the problems faced by the industrial partners in developing such systems and applying this understanding to the planning of the second phase. The second phase will be devoted to developing the most promising approach to solve those problems.

The project intends to use the "industry as laboratory" approach to developing and evaluating its methods. The results of the project will be applied in parallel industrial research projects within the industrial partners.

Go to this site

REDO

Source:

REDO

Funding Body:

ESPRIT

This project is concerned with software maintenance and reverse engineering. One of the major results of the project appears to be a an infinite-lookahead compiler-compiler for context dependent grammars, PRECCX. A book "The REDO Compendium: Reverse Engineering and Software Maintenace" provides a summary of the work of the entire project.

Go to this site

FAMOOS

Source:

FAMOOS - Framework-based Approach for Mastering Object-Oriented Software Evolution

Funding Body:

ESPRIT

The FAMOOS project investigates methods and tools that help the evolution of large scale object-oriented systems. The project focuses on supporting the evolution of first generation object oriented system (ie. current systems) towards object-oriented frameworks (ie. standard application architectures and component libraries). To this end, the project will develop methods and tools to detect and analyse design problems with current object oriented systems, as well as to transform these systems into frameworks based on flexible architectures.

Go to this site

RevEngE

Source:

RevEngE

Partners:

McGill University, Canada
University of Victoria, Canada
University of Toronto, Canada

The objective of this three-year project is to develop an integrated environment offering tools for subsystem identification and discovery to support reverse engineering processes, using a common software repository. In particular, the project addresses issues in the areas of software analysis technology, algorithms to extract system abstractions, integration technology applicable to CASE, user interface technology to model, browse, and search large collections of software artifacts and reverse engineering process models interactively.

The project brings together components developed at McGill University, the University of Toronto and the University of Victoria.

Go to this site

PROTEUS

Source:

PROTEUS

Funding body:

ESPRIT

The overall goal of the (now completed) Proteus Project was to provide tools to support the development and maintenace of evolving systems. Results were made available on the European software tool market. The PROTEUS approach was based on a conceptual configuration approach. Applications are composed of components. Components are the conceptual entities by which the applications are modelled and from which they are generated. The PROTEUS Configuration Language (PCF) was one of the major results of this project.

Go to this site

TARSAL

Source:

TARSAL

Funding body:

ESPRIT

A cluster of trial applications using the RSAL tool to build reusable code repositories in order to support efficient software development. TARSAL is a demonstration project showing the viability of transferring software reuse technology with the RSAL reuse repository tool from Sodalia SpA to other partners of various size involved in various software development activities: Brüel & Kjær (acoustics and vibration analysis), Hitec (information systems for production and quality management), CIM-EXP (software development for engineering and manufacturing). The expected result of the application of this technology is a reduction in development costs.

Go to this site