Hi Doru,
I wanted to use the design disharmonies detection implemented in Moose. Since my trials on both Java and Smalltalk systems failed, I would like to know what is the development status here. I saw that most of the identity and collaborative disharmonies rules are implemented, at least for Java. However, almost none of them returned a valid result (the metrics that they are based on seem to return nil instead of a value). Could you give me some hints on how to use them? Maybe I'm doing something wrong here, I just tried something like: aMooseModel allClasses select: [:each | each isBrainClass]
Thanks, Ricky
Hi Ricky,
I just implemented the detection strategies as they are in the book of Michele and Radu, and these strategies use the metrics that are implemented in iPlasma. However, I did not get the chance to implement the metrics yet, but I just use them from the iPlasma export.
That is why, at the moment the strategies only work with models exported by iPlasma.
Cheers, Doru
On Oct 4, 2007, at 12:36 PM, Richard Wettel wrote:
Hi Doru,
I wanted to use the design disharmonies detection implemented in Moose. Since my trials on both Java and Smalltalk systems failed, I would like to know what is the development status here. I saw that most of the identity and collaborative disharmonies rules are implemented, at least for Java. However, almost none of them returned a valid result (the metrics that they are based on seem to return nil instead of a value). Could you give me some hints on how to use them? Maybe I'm doing something wrong here, I just tried something like: aMooseModel allClasses select: [:each | each isBrainClass]
Thanks, Ricky _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.iam.unibe.ch/~girba www.iam.unibe.ch/~girba/blog/
"Every successful trip needs a suitable vehicle."
Thanks, Doru
You are right. They work fine on the Java models. The only one that crashes is FAMIXClass>>isBrainClass. After looking at the information the debugger gave me, it seems that the #F_NOBM (what does the F stand for?) is evaluated to nil. Although there is a #numberOfBrainMethods methods in the "properties" protocol of FAMIXClass, it is not defined using the property-pragma and probably that's why the strategies are not able to find it. I tried modifying the method, and it seemed to work fine like this:
numberOfBrainMethods <property: #F_NOBM longName: 'Number of Brain Methods' description: 'The number of brain methods'> ^self lookUpPropertyNamed: #F_NOBM computedAs: [(self methods select: #isBrainMethod) size]
I also noticed another method which also lacked the pragma: #numberOfClassScopeAttributes.
Cheers, Ricky
On Oct 10, 2007, at 5:33 PM, Tudor Girba wrote:
I just implemented the detection strategies as they are in the book of Michele and Radu, and these strategies use the metrics that are implemented in iPlasma. However, I did not get the chance to implement the metrics yet, but I just use them from the iPlasma export.
That is why, at the moment the strategies only work with models exported by iPlasma.