Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "MoDisco new"
(→Technologies) |
(→Infrastructure) |
||
Line 53: | Line 53: | ||
* a '''[http://wiki.eclipse.org/MoDisco/ModelEditor model browser]''' to facilitate the navigation through a complex model | * a '''[http://wiki.eclipse.org/MoDisco/ModelEditor model browser]''' to facilitate the navigation through a complex model | ||
* a '''[http://wiki.eclipse.org/MoDisco/DiscoverersManager discovery manager]''' to register and integrate discoverers into Eclipse | * a '''[http://wiki.eclipse.org/MoDisco/DiscoverersManager discovery manager]''' to register and integrate discoverers into Eclipse | ||
− | * a '''discovery workflow''' to easily chain several discoverers and transformators | + | * a '''[http://wiki.eclipse.org/MoDisco/Workflow discovery workflow''' to easily chain several discoverers and transformators |
* a '''[http://wiki.eclipse.org/MoDisco/KDMSourceDiscoverer sources discoverer]''' which creates a KDM model describing the files and directories of an existing project | * a '''[http://wiki.eclipse.org/MoDisco/KDMSourceDiscoverer sources discoverer]''' which creates a KDM model describing the files and directories of an existing project | ||
* a '''[http://www.eclipse.org/gmt/modisco/infrastructure/MetricsVisualizationBuilder/ metrics vizualizations builder]''' which generates HTML, SVG or Excel outputs from a model containing metrics | * a '''[http://www.eclipse.org/gmt/modisco/infrastructure/MetricsVisualizationBuilder/ metrics vizualizations builder]''' which generates HTML, SVG or Excel outputs from a model containing metrics |
Revision as of 04:37, 16 July 2009
< To: GMT
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.
Contents
What is MoDisco ?
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
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
- Generic tools to understand and transform complex models created out of existing systems
- Use-cases illustrating how MoDisco can support modernization process
Description
To facilitate reuse of components between several use-cases, MoDisco is organized in three layers:
See MoDisco architecture detail...
Infrastructure
All the components of this layer are available as plugins and provided in one single Eclipse feature
- reference implementations of OMG/ADM metamodels (KDM and SMM)
- a transformation from KDM to UML
- a model browser to facilitate the navigation through a complex model
- a discovery manager to register and integrate discoverers into Eclipse
- a [http://wiki.eclipse.org/MoDisco/Workflow discovery workflow to easily chain several discoverers and transformators
- a sources discoverer which creates a KDM model describing the files and directories of an existing project
- a metrics vizualizations builder which generates HTML, SVG or Excel outputs from a model containing metrics
Technologies
All the components of this layer are available as plugins and provided in several Eclipse features : one for each technology.
- a complete metamodel for the Java language
- a complete discoverer to create J2SE5 models from Java source code contained in a Java project
- a transformation from J2SE5 models to KDM
- a complete metamodel for the C# language
- a transformation from CSharp models to KDM
Use-Cases
All the components of this layer are available as plugins
- Model Filter : creation of a UML model containing dependencies for a Java classes selected in the Eclipse environment
Project plan
Additional components are planned to be added to MoDisco.
Relationship with other Eclipse Projects
MoDisco reuses lots of EMP projects :
- EMF to describe and manipulate models of existing systems.
- M2M to implement transformation of models into other models
- M2T to implement generation of text (documentation or code)
- TMF to implement some discoverers
MoDisco also reuses other projects such as :
- JDT to create models out of Java source code
Presentations
See MoDisco presentations ...
How to contribute ?
See the process to contribute components to MoDisco.
See Also
MoDisco, The MoDisco component's Eclipse homepage