# MoDisco

Legacy systems embrace a large number of technologies, making the development of tools to cope with legacy systems evolution a tedious and time consuming task. As modernization projects face with both technologies combination and various modernization situations, model-driven approaches and tools offer the requisite abstraction level to build up mature and flexible modernization solutions.

MoDisco provides an extensible framework to develop model-driven tools to support use-cases of existing software modernization :

- Quality Assurance: verifying whether an existing system meets the required qualities (detection of anti-patterns in existing code and computation of metrics.)
- Documentation: extraction of information from an existing system to help understanding one aspect of this system (structure, behaviour, persistence, data-flow, change impact , etc).
- Improvement: transformation of an existing system to integrate better coding norms or design patterns.
- Migration: transformation of an existing system to change a component, the framework, the language, or its architecture

MoDisco Overview In each case, modernizing an existing software system implies:

- Describing the information extracted out of the artifacts of this system
- Understanding the extracted information in order to take the good modernization decisions
- Transforming this information to new artifacts facilitating the modernization (metrics, document, transformed code, ...)

MoDisco aims at supporting these three phases by providing :

- Metamodels to describe existing systems
- Discoverers to automaticaly create models of these systems
- Generic tools to understand and transform complex models created out of existing systems
- Use-cases illustrating how MoDisco can support modernization process

All rights reserved. This document is made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html

Contributors:

- Frédéric Madiot (Mia-Software) - Documentation
- Grégoire Dupé (Mia-Software) - Documentation