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 "Techniques"

(Provided metrics for Ecore models)
(Provided smells for Ecore models (to do))
Line 155: Line 155:
 
</TABLE>
 
</TABLE>
  
=== Provided smells for Ecore models (to do) ===
+
=== Provided smells for Ecore models ===
 
----
 
----
  
 
<TABLE BORDER=1 CELLPADDING=8 CELLSPACING=5 bgcolor="#ffffff">
 
<TABLE BORDER=1 CELLPADDING=8 CELLSPACING=5 bgcolor="#ffffff">
  <TR>
+
 
  <TD COLSPAN=2 ALIGN=CENTER><font size=+1><a name="smells">UML2 Smells</a></font>
+
<TR>
  </TD>
+
<TH>Smell</TH>
  </TR>
+
<TH>Description</TH>
  <TR>
+
</TR>  
  <TH>Smell</TH>
+
 
  <TH>Description</TH>
+
<TR>
  </TR>  
+
<TD>Large EClass</TD>
  <TR>
+
<TD ALIGN=LEFT>The model contains an EClass owning more features (EAttributes and EOperations) than the specified limit.</TD>
  <TD>Attribute name overridden</TD>
+
</TR>
  <TD ALIGN=LEFT>The model contains an attribute with the same name as an inherited attribute.</TD>
+
 
  </TR>
+
<TR>
 +
<TD>Speculative Generality EClass</TD>
 +
<TD ALIGN=LEFT>The model contains an abstract EClass that is inherited by one concrete EClass only.</TD>
 +
</TR>
 +
 
 +
<TR>
 +
<TD>Unnamed EClass</TD>
 +
<TD ALIGN=LEFT>The model contains an EClass without a name.</TD>
 +
</TR>
 +
 
 +
</TABLE>
  
 
=== Provided refactorings for Ecore models (to do) ===
 
=== Provided refactorings for Ecore models (to do) ===

Revision as of 09:56, 25 April 2014

The following model quality assurance techniques are provided by EMF Refactor.

Provided techniques for Ecore models (to do)

EMF Refactor provides the following model quality assurance techniques for Ecore models (nsUri http://www.eclipse.org/emf/2002/Ecore).

Provided metrics for Ecore models


Context Metric Description
EClass AvEPEOEC Average number of EParameters in EOperations of the given EClass.
EClass ECEOEC Number of EReferences of other EClasses having the given EClass as type.
EClass ECEPEC Number of EParameters within other EClasses having the given EClass as type.
EClass ECEREC Number of EReferences of other EClasses having the given EClass as type.
EClass HAGGEC Length of the longest path to the leaves in the aggregation hierarchy.
EClass ICEPEC Number of EParameters within the EClass having another EClass or interface as type.
EClass ICEPECEC Number of EParameters within the EClass having another EClass as type.
EClass ICEPEIEC Number of EParameters within the EClass having another interface as type.
EClass MAXDITEC Depth of Inheritance Tree (maximum due to multiple inheritance).
EClass NCEAEC Number of constant EAttributes of the given EClass.
EClass NDEROEC Number of different EClasses being referenced by the given EClass.
EClass NEAEC Number of EAttributes of the given EClass.
EClass NEOEC Number of EOperations of the given EClass.
EClass NEPEC Total number of EParameters in EOperations of the given EClass.
EClass NEREC Total number of EReferences of the given EClass.
EClass NEROEC Number of EReferences of the given EClass to other EClasses.
EClass NERSEC Number of EReferences of the given EClass to itself.
EClass NFEEC Number of features (EAttributes and EOperations) of the given EClass.
EClass NPECEC Number of EClasses being parts of the given EClass.
EClass NSUBEC Number of direct child EClasses of the given EClass.
EClass NSUBEC2 Number of all child EClasses of the given EClass.
EClass NSUPEC Number of direct parent EClasses of the given EClass.
EClass NSUPEC2 Total number of ancestors of the given EClass.

Provided smells for Ecore models


Smell Description
Large EClass The model contains an EClass owning more features (EAttributes and EOperations) than the specified limit.
Speculative Generality EClass The model contains an abstract EClass that is inherited by one concrete EClass only.
Unnamed EClass The model contains an EClass without a name.

Provided refactorings for Ecore models (to do)

Provided techniques for UML2 models (to do)

Provided metrics for UML2 models (to do)

Provided smells for UML2 models (to do)

Provided refactorings for UML2 models (to do)

Back to the top