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

Techniques

Revision as of 10:14, 25 April 2014 by Arendt.mathematik.uni-marburg.de (Talk | contribs) (Provided refactorings for Ecore models (to do))

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)


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

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