Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "MoDisco"

(Objectives)
(Description)
Line 39: Line 39:
 
|}
 
|}
  
[[MoDisco/Architecture|See MoDisco architecture detail...]]
+
[[MoDisco/Architecture|See MoDisco architecture detail...]]
 
+
=== Infrastructure  ===
+
 
+
All the components of this layer are available as plug-ins and provided in one single Eclipse feature
+
 
+
{{CommentBox|Feature '''Infrastructure 0.7''' contains :
+
* reference implementations of '''OMG/ADM metamodels''' ([http://wiki.eclipse.org/MoDisco/KDM KDM] and [http://wiki.eclipse.org/MoDisco/SMM SMM])
+
* a transformation from '''[http://wiki.eclipse.org/MoDisco/KDM/UMLConverter KDM to UML]'''
+
* a '''[http://wiki.eclipse.org/MoDisco/ModelBrowser/Presentation 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/Workflow discovery workflow]''' to easily chain several discoverers and transformers
+
* 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 visualizations builder]''' which generates HTML, SVG or Excel outputs from a model containing metrics
+
}}
+
 
+
=== Technologies ===
+
 
+
All the components of this layer are available as plug-ins and provided in several Eclipse features: one for each technology.
+
 
+
{{CommentBox|Feature '''Java 0.7''' contains:
+
* a complete [http://wiki.eclipse.org/MoDisco/Java metamodel] for the Java language
+
* a complete [http://wiki.eclipse.org/MoDisco/JavaDiscoverer2 discoverer] to create Java models from Java source code contained in a Java project
+
* a transformation from Java models to KDM}}
+
 
+
The Java component merges the J2SE5 and JavaAST older components which are still available :
+
 
+
{{CommentBox|Feature '''J2SE5 0.7''' contains:
+
* a complete [http://wiki.eclipse.org/MoDisco/J2SE5 metamodel] for the Java language
+
* a complete [http://wiki.eclipse.org/MoDisco/JavaDiscoverer discoverer] to create J2SE5 models from Java source code contained in a Java project
+
* a transformation from [http://wiki.eclipse.org/MoDisco/JavaDiscoverer J2SE5 models to KDM]}}
+
 
+
{{CommentBox|Feature '''JavaAST 0.2''' contains:
+
* a complete metamodel for the Java language
+
* a complete [http://www.eclipse.org/gmt/modisco/technologies/JavaAbstractSyntax/ discoverer] to create JavaAST models from Java source code contained in a Java project}}
+
 
+
 
+
{{CommentBox|Feature '''CSharp 0.6''' contains:
+
* a complete [http://wiki.eclipse.org/MoDisco/CSharp metamodel] for the C# language
+
* a transformation from [http://wiki.eclipse.org/MoDisco/CSharpDiscoverer CSharp models to KDM]'' }}
+
 
+
{{CommentBox|Feature '''XML 0.6''' contains:
+
* a complete [http://wiki.eclipse.org/MoDisco/XML metamodel] for the XML standard, subsetting W3C concepts
+
* a complete [http://wiki.eclipse.org/MoDisco/XMLDiscoverer discoverer] to create XML models from XML files}}
+
 
+
=== Use-Cases ===
+
 
+
All the components of this layer are available as plug-ins
+
 
+
*'''[http://wiki.eclipse.org/MoDisco/SimpleTransformationChain Simple Transformations Chain]''': creation of a UML model from a Java project, just aggregating discoverers from [[#Infrastructure|Infrastructure]] and [[#Technologies|Technologies]] layers.
+
*'''[http://wiki.eclipse.org/MoDisco/ModelFilter Model Filter]''': creation of a UML model containing dependencies for a Java classe selected in the Eclipse environment.
+
*'''[http://www.eclipse.org/gmt/modisco/useCases/BugzillaMetrics/ Bugzilla metrics]''': conversion of Bugzilla data into Excel, HTML or SVG documents.
+
*'''[http://www.eclipse.org/gmt/modisco/useCases/BIRTSampleDB/ BIRTSampleDB]''': discovery of model from a BIRT database.
+
*'''[http://www.eclipse.org/gmt/modisco/useCases/PerformanceAnnotatedUmlStateCharts/ Performance-Annotated UML2 State Chart]''': discovery of performance information from an Excel file, computation of metrics using this information and application of them to a UML2 model using a Performance profile.
+
 
+
=== Incubation ===
+
 
+
The followings are components also available from MoDisco. However, they are not currently part of the standard MoDisco build.
+
 
+
The ''MOMOCS European Project'' provides:
+
* the MOMOCS [http://www.eclipse.org/gmt/modisco/technologies/MOMOCSMetamodel/ Metamodel and corresponding Simple Editor]
+
* the MOMOCS [http://www.eclipse.org/gmt/modisco/technologies/MOMOCSTransformationTool/ Transformation Tool]
+
* the [http://www.eclipse.org/gmt/modisco/useCases/TravelAgency/ Travel Agency use case]
+
* the [http://dev.eclipse.org/viewsvn/index.cgi/examples/trunk/?root=Modeling_MODISCO Polimi Blog use case]
+
  
 
== Relationship with other Eclipse Projects  ==
 
== Relationship with other Eclipse Projects  ==

Revision as of 07:17, 8 January 2010

< To: GMT

LogoMoDiscoSmall.jpg

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

See MoDisco project home page

Objectives

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, ...)


To support these activities, MoDisco aims at providing :

  • Metamodels to describe existing systems
  • Discoverers to automatically 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 processes

Description

To facilitate reuse of components between several modernization solutions, MoDisco is organized in three layers:

Modisco-Architecture.PNG
  • Use-Cases: tools providing a solution for a specific modernization use-case.


  • Technologies: components dedicated to one legacy technology but independent from one specific modernization use case.


  • Infrastructure: generic components independent from any legacy technology.

See MoDisco architecture detail...

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)


MoDisco also reuses other projects such as:

  • JDT to create models out of Java source code

Roadmap

Additional components are planned to be added to MoDisco. See the roadmap...

Team

MoDisco has been initiated by the AtlanMod Team (INRIA) and is strongly supported by Mia-Software:

  • Hugo Bruneliere - AtlanMod (project leader)
  • Gabriel Barbier - Mia-Software (committer)
  • Nicolas Bros - Mia-Software (committer)
  • Grégoire Dupé - Mia-Software (committer)
  • Fabien Giquel - Mia-Software (committer)
  • Frédéric Madiot - Mia-Software (committer)
  • Jean Bezivin - AtlanMod
  • Frédéric Jouault - AtlanMod
  • Nicolas Payneau - Mia-Software
  • Jean-Sebastien Sottet - AtlanMod

How to contribute?

See the process to contribute components to MoDisco.

Developer guide

See Also

Homepage on Eclipse website: www.eclipse.org/gmt/modisco

Newsgroup: Newsgroup.gif eclipse.modisco

Documents: presentations

Wishlist

Back to the top