blob: 3bd19007016ca8547eceed69a8c0ff0c2f5e6724 [file] [log] [blame]
<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/></head><body><h1 id="EMFCompareArchitecture">EMF Compare Architecture</h1><p><code>Authors</code> Cédric Brun <br/><code>Contact</code> cedric.brun@obeo.fr</p><p>Copyright 2007-2010, Obeo &#169;</p><ol style="list-style: none;"><li><a href="#EMFCompareArchitecture">EMF Compare Architecture</a><ol style="list-style: none;"><li><a href="#Comparisonprocess">Comparison process</a></li><li><a href="#PluginsArchitecture">Plugins Architecture</a></li><li><a href="#APIs">API's</a></li></ol></li></ol><h2 id="Comparisonprocess">Comparison process</h2><p>The comparison process is divided in 2 phases : matching and differencing. The matching phase browses both models trying to figure out which element of model<br/>1 corresponds to which element of model 2. The differencing process then browses the result of the matching and creates the corresponding delta. The result of<br/>both phases can be serialized as models.</p><p><img border="0" src="images/Process.png"/></p><h2 id="PluginsArchitecture">Plugins Architecture</h2><p>Here is the plugin architecture of the EMF Compare component :</p><p><img border="0" src="images/Plugins.png"/></p><h2 id="APIs">API&#8217;s</h2><p>The red boxes in the following picture represent the component which were designed for extensibility. On all of these components can be plugged your own engines<br/>or behavior.</p><p><img border="0" src="images/compare_general_extensibility.png"/></p></body></html>