Login | Register
My pages Projects Community openCollabNet

If you were registered and logged in, you could join this project.

Summary Metamorphoses for Software-Engineers --- Reengineering Tools
Categories design, construction
License BSD License
Owner(s) jmartin

Message from the owner(s)

We have now a system available for testing and developing Ephedra. See details on the Ephedra pages.


The requirements for a typical piece of software change frequently, common causes are:

  • changes in business rules or tax laws for a financial application,
  • the need to make information available on the Internet,
  • the extension of the software's life time,
  • support for new hardware,
  • ...

While some of these requirements can be implemented without major changes of the overall design of the software, some do require massive restructuring, or even source language conversion. Because of the size and complexity of today's applications, this task usually cannot be performed manually but only with tools that automate at least parts of the source code changes.

The goal of the Ovid project is to provide a tool collection to support and facilitate software reengineering tasks. Rather than implementing everything from scratch, we will collect existing open source tools and tailor them to our needs.

The starting point for Ovid is Ephedra, a C/C++ to Java source code transformation environment. Though its primary focus was the transformation from C/C++ to Java, some of the source code transformations it implements are general to be useful in a general reengineering context.

Related resources

  • Ephedra, Ovid's starting point.
  • GXL, the language Ovid's various components will use for data exchange.
  • cppX, the C/C++ parser we intend to use as a front-end.
  • Rigi, a system for software understanding in the large.
  • IBM VisualAge C++, Ephedra's current front-end.