Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be 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"

m (Infrastructure: update link)
(Adding the section 'Build')
(253 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Backlink|GMT}}  
+
{{Backlink|MDT}}
 +
[[Image:LogoMoDiscoSmall.jpg|right]]
 +
{{MoDiscoInfobox}}
  
[[Image:LogoMoDiscoSmall.jpg|right]] 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.  
+
MoDisco provides an extensible framework to develop '''model-driven tools''' to support use-cases of '''existing software modernization'''.
  
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.  
+
* See [http://www.eclipse.org/MoDisco MoDisco home page]
  
<br>
 
 
== What is MoDisco&nbsp;?  ==
 
 
MoDisco provides an extensible framework to develop '''model-driven tools''' to support use-cases of '''existing software modernization'''&nbsp;:
 
 
*'''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
 
 
<br> [[Image:Modisco-Overview.PNG|center|600px]]
 
 
<br> In each case, modernizing an existing software system implies:
 
  
 +
== Overview==
 +
Modernizing an existing software system implies : 
 
*'''Describing''' the information extracted out of the artifacts of this system  
 
*'''Describing''' the information extracted out of the artifacts of this system  
 
*'''Understanding''' the extracted information in order to take the good modernization decisions  
 
*'''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, ...)
 
*'''Transforming''' this information to new artifacts facilitating the modernization (metrics, document, transformed code, ...)
  
MoDisco aims at supporting these three phases by providing&nbsp;:
 
  
 +
To support these activities, MoDisco aims at providing :
 
*'''Metamodels''' to describe existing systems  
 
*'''Metamodels''' to describe existing systems  
*'''Discoverers''' to automaticaly create models of these systems<br>
+
*'''Discoverers''' to automatically create models of these systems
 
*'''Generic tools''' to understand and transform complex models created out of existing systems  
 
*'''Generic tools''' to understand and transform complex models created out of existing systems  
*'''Use-cases''' illustrating how MoDisco can support modernization process
+
*'''Use-cases''' illustrating how MoDisco can support modernization processes
  
== Description  ==
 
  
To facilitate reuse of components between several use-cases, MoDisco is organized in '''three layers''':  
+
To facilitate reuse of components between several modernization solutions, MoDisco is organized in '''three layers''':  
  
 
{|
 
{|
 
|-
 
|-
| [[Image:Modisco-Architecture.PNG|300px]]  
+
| [[Image:Modisco-Architecture.PNG|320px]]  
 
|  
 
|  
*'''Use-Cases'''&nbsp;: tools providing a solution for a specific modernization use-case.
+
*'''Use-Cases''': tools providing a solution for a specific modernization use-case.
  
<br>
 
  
*'''Technologies'''&nbsp;: components dedicated to one legacy technology but independent from one specific modernization use case.
+
  
<br>
+
*'''Technologies''': components dedicated to one legacy technology but independent from any specific modernization use case.
  
*'''Infrastructure'''&nbsp;: generic components independent from any legacy technology.
+
 
 +
 +
 
 +
*'''Infrastructure''': generic components independent from any legacy technology.
  
 
|}
 
|}
  
[[MoDisco/Architecture|See MoDisco architecture detail...]]
 
  
=== Infrastructure  ===
+
* See [[MoDisco/Architecture|Architecture Detail...]]
  
All the components of this layer are available as plugins and provided in one single Eclipse feature
+
== Documentation ==
 +
=== Reference Documentation===
 +
* [http://www.slideshare.net/HugoBruneliere/introducing-eclipse-mdisco Introducing Eclipse MoDisco...]
 +
* [http://help.eclipse.org/ Latest version documentation (0.11 - Kepler)]
 +
* [http://download.eclipse.org/modeling/mdt/modisco/nightly/doc/org.eclipse.modisco.doc/ 0.10 documentation (for Juno, nightly builds)] &nbsp;&nbsp; ([http://friends.eclipse.org/downloads/modeling/mdt/modisco/nightly/doc/org.eclipse.modisco.doc/ friends of Eclipse mirror])
 +
* [http://help.eclipse.org/indigo/nav/38 0.9 documentation (for Indigo)]
 +
* [http://help.eclipse.org/helios/nav/35 0.8 documentation (for Helios)]
 +
* [http://www.eclipse.org/MoDisco/doc/MoDisco_Flyer-Poster_1.1.pdf MoDisco Flyer-Poster (2011 version)]
  
{{CommentBox|Feature '''Infrastructure 0.7''' contains :
+
=== How to download and install ? ===
* 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 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 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://www.eclipse.org/gmt/modisco/infrastructure/MetricsVisualizationBuilder/ metrics vizualizations builder]''' which generates HTML, SVG or Excel outputs from a model containing metrics
+
}}
+
  
=== Technologies ===
+
* [[MoDisco/Installation|How to download and install MoDisco]]
  
All the components of this layer are available as plugins and provided in several Eclipse features&nbsp;: one for each technology.  
+
=== Publications ===
 +
* [http://hal.inria.fr/hal-00972632 MoDisco: a Model Driven Reverse Engineering Framework] Hugo Bruneliere, Jordi Cabot, Grégoire Dupé and Frédéric Madiot. A full long paper in Elsevier journal on '''Information and Software Technology 56 (2014)''' (pages 1012-1032), doi: http://dx.doi.org/10.1016/j.infsof.2014.04.007
 +
* [http://ercim-news.ercim.eu/en88 How to Deal with your IT Legacy? What is Coming up in MoDisco]: A short article about the current status of MoDisco, as part of '''ERCIM News 88''' focusing on '''Evolving Software''', January 2012 (pages 43-44).
 +
* [http://jaxenter.com/java-tech-journal/JTJ-2011-06 How to Deal with your IT Legacy? Reverse Engineering using Models: MoDisco in a Nutshell!]: A complete article about MoDisco v0.9.0, as part of the '''JavaTech Journal #10''' focusing on the '''Eclipse Indigo''' Simultaneous Release, August 2011 (pages 21-24).
 +
* [https://gforge.inria.fr/scm/viewvc.php/*checkout*/Publications/2010/ASE2010-ToolSession-MoDisco.pdf?root=atlantic-zoos MoDisco: a Generic and Extensible Framework for Model Driven Reverse Engineering]: A short paper introducing MoDisco, published in the '''ASE Conference 2010''' (Antwerp, Belgium, September 2010).
 +
* [http://www.elsevier.com/wps/find/bookdescription.cws_home/717804/description#description MoDisco, a Model-Driven Platform to Support Real Legacy Modernization Use Cases]: A detailed book chapter from ''Information Systems Transformation: Architecture-Driven Modernization Case Studies'', The Morgan Kaufmann/OMG Press, March 2010 (pages 365-400).
  
{{CommentBox|Feature '''Java 0.6''' contains:
+
=== Screencasts & Slides ===
* 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}}
+
  
''Note&nbsp;: a transformation from Java models to KDM will be released soon.''
+
* [http://www.slideshare.net/HugoBruneliere/introducing-eclipse-mdisco Introducing Eclipse MoDisco (slides + demo)], October 2013
 +
* [http://www.slideshare.net/HugoBruneliere/eclipse-modeling-modisco-an-introduction-to-modeling-and-model-driven-reverse-engineering Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) Reverse Engineering], September, 2011 ([http://docatlanmod.emn.fr/MoDisco/MoDisco-Demo_September2011.htm MoDisco demo visible here!])
 +
* [http://www.eclipsecon.org/europe2011/sessions/virtual-emf-%E2%80%93-transparent-composition-weaving-and-linking-models MoDisco as a concrete use case provider for Virtual EMF (Standard Talk)], '''EclipseCon Europe 2011''' in Ludwigsburg (Germany), November 2, 2011 
 +
* [http://www.slideshare.net/HugoBruneliere/modisco-atl-eclipse-democamp-indigo-2011-in-nantes MoDisco and ATL], '''[[Eclipse_DemoCamps_Indigo_2011/Nantes|Eclipse DemoCamp Indigo]]''' in Nantes (France), June 30, 2011
 +
* [http://www.eclipsecon.org/2011/sessions/?page=sessions&id=2093 Spy On Your Models (Standard Talk)], '''EclipseCon 2011''' in Santa Clara (California, USA), March 22, 2011.
 +
* [http://www.slideshare.net/fmadiot/modisco-at-eclipse-day-paris-2010 Analyze your Software Assets With MoDisco], '''Eclipse Day 2010''' in Paris (France), 2010
 +
* [http://www.slideshare.net/fmadiot/miasoftware-at-eclipse-modeling-symposium-2010 Using EMF to represent Eclipse 3.x plug-ins], Modeling Symposium, '''Eclipse Summit Europe 2010''' in Ludwigsburg (Germany), November 2, 2010.
 +
* [http://www.eclipsecon.org/2010/sessions/sessions?id=1173 How to Deal With Your IT Legacy? Reverse Engineering with MoDisco (Standard Talk)], '''EclipseCon 2010''' in Santa Clara (California, USA), March 22, 2010.
 +
** The [http://www.mia-software.com/html/miaStudio/indexOfMiaStudio.php?lang=en&theme=download-modisco-examples example source code] is available on Mia-Software web site.
 +
* [http://www.eclipse.org/MoDisco/doc/MoDisco-ESE2009-Talk/Short_talk_demo-20091028-0003.htm Discovery of Models with MoDisco], '''Eclipse Summit Europe 2009''' in Ludwigsburg (Germany), October 29, 2009.
 +
* [http://www.eclipse.org/MoDisco/doc/MoDisco-ESE2009-Symposium/demo.htm The Eclipse MoDisco Project Eclipse], Modeling Symposium, '''Eclipse Summit Europe 2009''' in Ludwigsburg (Germany), October 27, 2009.
  
The Java component merges the J2SE5 and JavaAST older components which are still available :
+
===  Project documents ===
  
{{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:
+
==== Release Train Required Documents====
* a complete metamodel for the Java language
+
=====All releases=====
* a complete [http://www.eclipse.org/gmt/modisco/technologies/JavaAbstractSyntax/ discoverer] to create JavaAST models from Java source code contained in a Java project}}
+
* [http://www.eclipse.org/projects/project-plan.php?projectid=modeling.mdt.modisco Project Plan] (Deprecated project mangement tool)
 +
* [http://projects.eclipse.org/projects/modeling.mdt.modisco Project Plan]
 +
* [[MoDisco/API_Policy|API Policy]]
 +
* [[MoDisco/Unit_Tests|Running Unit Tests]]
 +
* [[MoDisco/Feature_Hierarchy|Feature Hierarchy]]
 +
* [http://download.eclipse.org/modeling/mdt/modisco/metrics.html Project's Metrics]
 +
* [[MoDisco/Retention_Policy|Retention Policy]]
 +
* [[MoDisco/Accessibility_Guidelines|Accessibility Guidelines]]
 +
* [[MoDisco/Capabilities|Capabilities definition]]
 +
* Ramp down
 +
** [http://www.eclipse.org/projects/project-plan.php?projectid=modeling.mdt.modisco#release_milestones MoDisco Ramp Down]
 +
** [[Modeling_Project_Ramp_Down_Policy|Modeling Project Ramp Down Policy]]
  
 +
* [http://download.eclipse.org/modeling/mdt/modisco/api_report/ API Report]
 +
* [http://download.eclipse.org/modeling/mdt/modisco/integrationTags integration tags]
 +
* [http://www.eclipse.org/projects/ip_log.php?projectid=modeling.mdt.modisco IP Log]
 +
* [http://eclipse.org/projects/tools/ip_contribution_review.php?id=modeling.mdt.modisco IP Contribution Review]
  
{{CommentBox|Feature '''CSharp 0.6''' contains:
+
===== GMT to MDT migration =====
* 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]'' }}
+
  
=== Use-Cases ===
+
* [http://www.eclipse.org/project-slides/MoDisco_MoveReviewDocumentation.pdf MoDisco Move Review Documentation]
 +
* [[MoDisco/MDT_Migration|Migration to MDT, and package renaming]]
  
All the components of this layer are available as plugins
+
=====Helios=====
 +
* [http://www.eclipse.org/MoDisco/project-info/Approved_IP_Log_Modeling.MDT.Modisco_Helios.pdf IP Log (Helios)]
 +
* [[MoDisco/HeliosReview| Helios Review docuware]]
 +
* [[Helios_Simultaneous_Release|Helios Simultaneous Release]] (Calendar)
  
*'''[http://wiki.eclipse.org/MoDisco/SimpleTransformationChain Simple Transformations Chain]'''&nbsp;: creation of a UML model from a Java project, just aggregating discoverers from [[#Infrastructure|Infrastructure]] and [[#Technologies|Technologies]] layers.
+
=====Indigo=====
*'''[http://wiki.eclipse.org/MoDisco/ModelFilter Model Filter]'''&nbsp;: creation of a UML model containing dependencies for a Java classe selected in the Eclipse environment.
+
* [http://www.eclipse.org/MoDisco/project-info/Approved_IP_Log_Modeling.MDT.Modisco_Indigo.pdf IP Log (Indigo)]
*'''[http://www.eclipse.org/gmt/modisco/useCases/BugzillaMetrics/ Bugzilla metrics]'''&nbsp;: conversion of Bugzilla data into Excel, HTML or SVG documents.  
+
* [[MoDisco/IndigoReview| Indigo Review docuware]]
*'''[http://www.eclipse.org/gmt/modisco/useCases/BIRTSampleDB/ BIRTSampleDB]'''&nbsp;: discovery of model from a BIRT database.
+
* [[Indigo_Simultaneous_Release|Indigo Simultaneous Release]] (Calendar)
*'''[http://www.eclipse.org/gmt/modisco/useCases/PerformanceAnnotatedUmlStateCharts/ Performance-Annotated UML2 State Chart]'''&nbsp;: 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.
+
* [http://eclipse.org/indigo/planning/SimultaneousReleaseOverview.php?action=project&projectid=modeling.mdt.modisco Indigo Release Train Requirement Conformance Summary]
  
=== Incubation ===
+
=====Juno=====
  
The followings are components also available from MoDisco. However, they are not currently part of the standard MoDisco build.
+
* [https://bugs.eclipse.org/bugs/attachment.cgi?id=216680 IP Log (Juno)]
 +
* [[MoDisco/JunoReview| Juno Review docuware]]
 +
* [[Juno/Simultaneous_Release_Plan|Juno Simultaneous Release]] (Calendar)
  
The ''MOMOCS European Project'' provides:
+
=====Kepler=====
* the MOMOCS [http://www.eclipse.org/gmt/modisco/technologies/MOMOCSMetamodel/ Metamodel and corresponding Simple Editor]
+
* [https://bugs.eclipse.org/bugs/attachment.cgi?id=231656 IP Log (Kepler)]
* the MOMOCS [http://www.eclipse.org/gmt/modisco/technologies/MOMOCSTransformationTool/ Transformation Tool]
+
* [http://projects.eclipse.org/projects/modeling.mdt.modisco/releases/0.11.0 Kepler Review docuware]
* the [http://www.eclipse.org/gmt/modisco/useCases/TravelAgency/ Travel Agency use case]
+
* [[Kepler/Simultaneous_Release_Plan|Kepler Simultaneous Release]] (Calendar)
* the [http://dev.eclipse.org/viewsvn/index.cgi/examples/trunk/?root=Modeling_MODISCO Polimi Blog use case]
+
  
== Relationship with other Eclipse Projects  ==
+
=====Luna=====
  
MoDisco reuses lots of EMP projects&nbsp;:  
+
* [[MoDisco/Restructuring_Reviews_MetaclassInstancesAdapter_From_MoDisco_To_EMF_Facet]]
 +
* [http://projects.eclipse.org/projects/modeling.mdt.modisco/releases/0.12.0 Luna Project Plan for MoDisco]
  
*'''[http://www.eclipse.org/modeling/emf/ EMF]''' to describe and manipulate models of existing systems.
+
===== Project plan =====
*'''[http://www.eclipse.org/m2m/ M2M]''' to implement transformation of models into other models
+
*'''[http://www.eclipse.org/modeling/m2t/ M2T]''' to implement generation of text (documentation or code)
+
  
MoDisco also reuses other projects such as&nbsp;:  
+
Service, Support and Maintenance:
 +
[https://bugs.eclipse.org/bugs/buglist.cgi?priority=P1;priority=P2;priority=P4;query_format=advanced;field0-0-0=flagtypes.name;bug_severity=blocker;bug_severity=critical;bug_severity=major;bug_severity=normal;bug_severity=minor;bug_severity=trivial;type0-0-0=substring;value0-0-0=kepler%2B;product=MDT.MoDisco committed],
 +
[https://bugs.eclipse.org/bugs/buglist.cgi?priority=P5;query_format=advanced;field0-0-0=flagtypes.name;bug_severity=blocker;bug_severity=critical;bug_severity=major;bug_severity=normal;bug_severity=minor;bug_severity=trivial;type0-0-0=substring;value0-0-0=kepler%2B;product=MDT.MoDisco proposed],
 +
[https://bugs.eclipse.org/bugs/buglist.cgi?priority=P5;query_format=advanced;field0-0-0=flagtypes.name;bug_severity=blocker;bug_severity=critical;bug_severity=major;bug_severity=normal;bug_severity=minor;bug_severity=trivial;type0-0-0=notsubstring;value0-0-0=kepler%2B;product=MDT.MoDisco deferred]
  
*'''[http://www.eclipse.org/jdt/ JDT]''' to create models out of Java source code
+
====Project Creation Documents====
 +
* [[MoDisco/Related Projects|Related Projects]]
 +
* [[MoDisco/Interested Parties|Interested Parties]]
  
== Roadmap ==
+
== Support==
  
Additional components are planned to be added to MoDisco.  
+
* Newsgroup: {{Newsgroup|eclipse.modisco}}
 +
* [http://www.eclipse.org/forums/eclipse.modisco Forum]
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;component=Main;component=Contribution;component=Infrastructure;component=Technologies;component=UseCases;classification=Modeling;product=MDT.MoDisco Opened Bugs] ([https://bugs.eclipse.org/bugs/buglist.cgi?priority=P1;priority=P2;query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=VERIFIED;component=Contribution;component=Infrastructure;component=Main;component=Technologies;component=UseCases;product=MDT.MoDisco;classification=Modeling P1 an P2]) ([https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=VERIFIED&classification=Modeling&component=Contribution&component=Infrastructure&component=Main&component=Technologies&component=UseCases&priority=P3&product=MDT.MoDisco&query_format=advanced&order=component%20DESC%2Cbug_id&query_based_on= P3])
 +
* [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=MDT.MoDisco&component=Main Report a bug]
 +
* [[MoDisco/FAQ|FAQ]]
  
[[MoDisco/Roadmap|See the roadmap ...]]
+
== Getting involved  ==
  
== Team  ==
+
The MoDisco project is open to contributors!
  
MoDisco has been initiated by the [http://www.inria.fr/recherche/equipes/atlanmod.en.html AtlanMod Team] (INRIA) and is strongly supported by [http://www.mia-software.com Mia-Software]&nbsp;:
+
Developer mailing list : modisco-dev@eclipse.org ([https://dev.eclipse.org/mailman/listinfo/modisco-dev registration page])
  
*Hugo Bruneliere - AtlanMod (project leader)
+
===What can you provide? ===
*Gabriel Barbier - Mia-Software (committer)
+
*new modernization use-cases
*Nicolas Bros - Mia-Software (committer)
+
*extensions of MoDisco components
 +
*metamodels of legacy technologies
 +
*discoverers and model transformations
  
*Jean Bezivin - AtlanMod
+
See the [[MoDisco/Wishlist|MoDisco Wishlist]] for ideas of contributions.
*Grégoire Dupé - Mia-Software
+
*Frédéric Jouault - AtlanMod
+
*Fabien Giquel - Mia-Software
+
*Frédéric Madiot - Mia-Software
+
*Nicolas Payneau - Mia-Software
+
*Jean-Sebastien Sottet - AtlanMod
+
  
== How to contribute&nbsp;? ==
+
===Get the source of MoDisco projects===
  
See the [[MoDisco/How to contribute|process]] to contribute components to MoDisco.  
+
* Git web browser: http://git.eclipse.org/c/modisco/org.eclipse.modisco.git/
 +
* Gerrit :
 +
** https://git.eclipse.org/r/#/admin/projects/modisco/org.eclipse.modisco
 +
** ssh://committer_id@git.eclipse.org:29418/modisco/org.eclipse.modisco
 +
** cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=469004
 +
* Git repository: git://git.eclipse.org/gitroot/modisco/org.eclipse.modisco.git
  
== See Also ==
+
The history of commits older than 2012-07-30 is stored in the SVN archive: cf. [[MoDisco/SVN|SVN Howto]]
  
Homepage on Eclipse website&nbsp;: [http://www.eclipse.org/gmt/modisco www.eclipse.org/gmt/modisco]  
+
===How to contribute your code?===
 +
*See the [[MoDisco/How to contribute|MoDisco contribution guidelines]].
 +
*See the [[MoDisco/DeveloperGuide|MoDisco developer guide]].  
 +
*See the [[MoDisco/Releng/How_to_Use|MoDisco releng]].
 +
**[[MoDisco/Updates|MoDisco update sites]]
 +
*See the [[MoDisco/bug_process|MoDisco Bug Process]].
  
Newsgroup&nbsp;: {{Newsgroup|eclipse.modisco}}
+
===Meetings===
 +
*[[MoDisco/Meetings/2010-03-31|2010-03-31]]
 +
 
 +
 
 +
=== Bug tracking ===
 +
* [https://dev.eclipse.org/recommenders/committers/confess/#/projects/54bc9fa7bee886e008a60d1f Automated Error Reporting page]
 +
 
 +
=== Build ===
 +
* HIPP: https://hudson.eclipse.org/modisco/
 +
* Hudson Master Job: https://hudson.eclipse.org/hudson/job/modisco-nightly/
 +
* Hudson Maintenance Job: https://hudson.eclipse.org/hudson/job/modisco-nightly-maintenance/*
 +
 
 +
==== Bugzilla Queries ====
 +
===== Tracking =====
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_severity=blocker;bug_severity=critical;bug_severity=major;bug_severity=normal;bug_severity=minor;bug_severity=trivial;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=VERIFIED;product=MDT.MoDisco Non enhancement opened bugs sort by importance] (P1=planed for the next milestone, P2=planed for the next release, P3=not planned yet, P4=planed for the next "non service" release, P5=delayed)
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_severity=enhancement;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=VERIFIED;product=MDT.MoDisco Enhancement opened bugs sort by importance] (P1=planed for the next milestone, P2=planed for the next release, P3=not planned yet, P4=planed for the next "non service" release, P5=delayed)
 +
*[https://bugs.eclipse.org/bugs/buglist.cgi?bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&bug_severity=enhancement&columnlist=assigned_to%2Cbug_status%2Cresolution%2Ctag%2Cpriority%2Cshort_desc%2Cchangeddate&list_id=11976044&order=priority%2Cbug_status%2Cassigned_to%2Cbug_id&product=MDT.MoDisco&query_based_on=&query_format=advanced&short_desc=%5BUnit%20Test%20Failure%5D&short_desc_type=allwordssubstr Unit Test Failure]
 +
 
 +
 
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&bug_severity=enhancement&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&list_id=11778901&product=MDT.MoDisco&query_format=advanced&short_desc=%5BDeprecated%5D;&short_desc_type=allwordssubstr Deprecated]
 +
 
 +
===== Checking =====
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?classification=Modeling;emailtype1=substring;emailassigned_to1=1;query_format=advanced;bug_status=RESOLVED;bug_status=CLOSED;email1=modisco;component=Main;component=Contribution;component=Infrastructure;component=Technologies;component=UseCases;product=MDT.MoDisco The list of not assigned closed (and resolved) bugs] (must be empty)
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=RESOLVED;bug_status=CLOSED;email1=modisco;component=Main;component=Contribution;component=Infrastructure;component=Technologies;component=UseCases;resolution=FIXED;target_milestone=---;product=MDT.MoDisco;classification=Modeling;emailtype1=substring The list of fixed bugs without any target milestone] (must be empty)
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?negate0=1&emailassigned_to1=1&query_format=advanced&field0-0-0=cc&email1=modisco.web-inbox%40eclipse.org&type0-0-0=substring&value0-0-0=modisco.web-inbox%40eclipse.org&component=Main&component=Contribution&component=Infrastructure&component=Technologies&component=UseCases&product=MDT.MoDisco&classification=Modeling&emailtype1=notequals The list of assigned bug without a copy to modisco.web-inbox@eclipse.org] (must be empty)
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?type0-1-0=notsubstring;field0-1-0=flagtypes.name;field0-0-0=flagtypes.name;resolution=FIXED;classification=Modeling;chfieldto=Now;chfield=resolution;chfield=bug_status;query_format=advanced;chfieldfrom=2010-05-06;value0-1-0=indigo;bug_status=RESOLVED;bug_status=CLOSED;type0-0-0=notsubstring;value0-0-0=helios;component=Main;component=Contribution;component=Infrastructure;component=Technologies;component=UseCases;product=MDT.MoDisco Bugs not flagged indigo or helios and older than May 6th, 2010]
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?o5=regexp&f1=OP&list_id=5604459&f0=OP&classification=Modeling&o2=substring&f4=OP&v5=.%2B&query_format=advanced&j1=OR&f3=CP&f2=flagtypes.name&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&j4=OR&f5=attachments.description&f6=CP&component=AM3&component=Contribution&component=Infrastructure&component=Main&component=Technologies&component=UseCases&v2=iplog%2B&f7=CP&product=MDT.MoDisco Not closed bug having an iplog+]
 +
 
 +
===== Reports =====
 +
* [https://bugs.eclipse.org/bugs/report.cgi?x_axis_field=target_milestone&y_axis_field=version&z_axis_field=bug_severity&query_format=report-table&short_desc_type=allwordssubstr&short_desc=&classification=Modeling&product=MDT.MoDisco&component=Main&component=Contribution&component=Infrastructure&component=Technologies&component=UseCases&longdesc_type=allwordssubstr&longdesc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&resolution=FIXED&resolution=---&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&format=table&action=wrap&field0-0-0=noop&type0-0-0=noop&value0-0-0= A table presenting the bug fixes per version and per target milestones]
 +
 
 +
===== Others =====
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?classification=Modeling&component=Main&component=Contribution&component=Infrastructure&component=Technologies&component=UseCases&field0-0-0=flagtypes.name&field0-1-0=attachments.description&product=MDT.MoDisco&query_format=advanced&type0-0-0=notequals&type0-1-0=regexp&value0-0-0=iplog%2B&value0-1-0=.%2B&order=bug_id&query_based_on= All bug containing an attachment and not flagged iplog+] (useful for the IP reviews)
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?field0-0-0=commenter;field1-0-2=attachments.mimetype;type0-0-1=nowordssubstr;field0-0-1=reporter;type1-0-1=substring;value1-0-1=patch;classification=Modeling;value0-0-2=nbros%20fgiquel%20gdupe%20gbarbier%20fmadiot%20hugo.bruneliere;type1-0-2=equals;value1-0-2=application%2Fzip;query_format=advanced;field0-0-2=attachments.submitter;value0-0-1=nbros%20fgiquel%20gdupe%20gbarbier%20fmadiot%20hugo.bruneliere;type0-0-0=nowordssubstr;value0-0-0=nbros%20fgiquel%20gdupe%20gbarbier%20fmadiot%20hugo.bruneliere;field1-0-0=attachments.ispatch;product=MDT.MoDisco;type0-0-2=nowordssubstr;field1-0-1=attachments.filename External contributions]
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;field0-0-0=attachments.submitter;type0-0-0=nowordssubstr;value0-0-0=nbros%20fgiquel%20gdupe%20gbarbier%20fmadiot%20hugo.bruneliere;classification=Modeling;product=MDT.MoDisco non-committer attachments]
 +
 
 +
== Relationship with other Eclipse Projects  ==
 +
 
 +
MoDisco reuses lots of EMP projects:
 +
 
 +
*'''[http://www.eclipse.org/modeling/emf/ EMF]''' to describe and manipulate models of existing systems.
 +
*'''[http://www.eclipse.org/m2m/ M2M]''' to implement transformation of models into other models
 +
*'''[http://www.eclipse.org/modeling/m2t/ M2T]''' to implement generation of text (documentation or code)
 +
 
 +
 
 +
MoDisco also reuses other projects such as:
 +
*'''[http://www.eclipse.org/jdt/ JDT]''' to create models out of Java source code
 +
 
 +
 
 +
 
 +
== Team  ==
 +
 
 +
MoDisco has been initiated by the [http://www.emn.fr/z-info/atlanmod AtlanMod Team] (Inria, Mines de Nantes & LINA), and is now strongly supported by [http://www.mia-software.com Mia-Software]:
 +
 
 +
*Hugo Bruneliere - AtlanMod (project co-leader)
 +
*Grégoire Dupé - Mia-Software (project co-leader)
 +
*Fabien Giquel - Mia-Software (committer)
 +
*Nicolas Bros - Mia-Software (committer)
 +
*Gabriel Barbier - Thales (committer)
 +
*Frédéric Madiot - Obeo (committer)
  
Documents&nbsp;: [http://www.eclipse.org/gmt/modisco/doc/ presentations]
+
{{MoDisco}}
  
[[Category:Modeling]] [[Category:Reverse-Engineering]] [[Category:MDD]] [[Category:GMT]] [[Category:MoDisco]]
+
[[Category:Modeling]] [[Category:Reverse-Engineering]] [[Category:MDD]] [[Category:MDT]] [[Category:MoDisco]]

Revision as of 10:19, 1 July 2015

< To: MDT

LogoMoDiscoSmall.jpg
MoDisco
Website
Download
Community
Mailing ListForums
Bugzilla
Open
Help Wanted
Bug Day
Contribute
Browse SourceProject Set File

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


Overview

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


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 any specific modernization use case.



  • Infrastructure: generic components independent from any legacy technology.


Documentation

Reference Documentation

How to download and install ?

Publications

Screencasts & Slides

Project documents

Release Train Required Documents

All releases
GMT to MDT migration
Helios
Indigo
Juno
Kepler
Luna
Project plan

Service, Support and Maintenance: committed, proposed, deferred

Project Creation Documents

Support

Getting involved

The MoDisco project is open to contributors!

Developer mailing list : modisco-dev@eclipse.org (registration page)

What can you provide?

  • new modernization use-cases
  • extensions of MoDisco components
  • metamodels of legacy technologies
  • discoverers and model transformations

See the MoDisco Wishlist for ideas of contributions.

Get the source of MoDisco projects

The history of commits older than 2012-07-30 is stored in the SVN archive: cf. SVN Howto

How to contribute your code?

Meetings


Bug tracking

Build

Bugzilla Queries

Tracking


Checking
Reports
Others

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


Team

MoDisco has been initiated by the AtlanMod Team (Inria, Mines de Nantes & LINA), and is now strongly supported by Mia-Software:

  • Hugo Bruneliere - AtlanMod (project co-leader)
  • Grégoire Dupé - Mia-Software (project co-leader)
  • Fabien Giquel - Mia-Software (committer)
  • Nicolas Bros - Mia-Software (committer)
  • Gabriel Barbier - Thales (committer)
  • Frédéric Madiot - Obeo (committer)


MoDisco
Components Infrastructure: KDM · SMM · GASTM · Model Browser · Discovery Manager · MoDisco Workflow · Query Manager · Facet Manager · Metrics Visualization Builder · KDM Source Extension
Technologies: Java · JEE · EjbJar · WebApp · XML
Use Cases: Simple Transformation Chain · Model Filter
Help Installation · SVN
Project API Policy · Retention Policy · Project Plan · metrics · Accessibility Guidelines · Capabilities Disablement

Back to the top