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.
Techniques
Revision as of 10:14, 25 April 2014 by Unnamed Poltroon (Talk) (→Provided refactorings for Ecore models (to do))
The following model quality assurance techniques are provided by EMF Refactor.
Contents
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)
Refactoring | Description |
---|---|
Add EParameter with EClassifier type | |
Create referenced EClass | |
Create sub EClass | |
Create super EClass | |
Move EAttribute | |
Move EOperation | |
Pull up EAttribute | |
Pull up EOperation | |
Push down EAttribute | |
Push down EOperation | |
Remove empty referenced EClass | |
Remove empty sub EClass | |
Remove empty super EClass | |
Remove EParameter | |
Rename EAttribute | |
Rename EClass | |
Rename EDataType | |
Rename EEnumLiteral | |
Rename EOperation | |
Rename EPackage | |
Rename EParameter | |
Rename EReference |