Hi Aaron,
Good questions! Here are my thoughts:
(a) You are right, SDSA is the easiest way to go. You wouldn't want to
put the code into hackyApp_SDSA, however. That's the domain-independent
"engine" code, upon which applications like hackyApp_Zorro are built.
What you want to do is create a little module like hackyApp_PreCommitRules
that implements the rules to check for this behavior. This module might
also provide an interface in the form of a simple Alert that invokes the
rules once a day and sends an email with what is discovered to those in the
Project who have enabled the Alert. This should be a small amount of code.
(b) You are also right that Jess is not an open source product. Yikes! I
had not noticed that before. There is an evaluation copy of Jess you can
download. You might try contacting the author and explaining your
situation as a developer in a small company without resources to buy the
package and without any intention to make any money off of the resulting
software. Indeed, if you are intending to donate the sources back into the
public repository, you could appeal to his open source sensibility. Ask
him if he would provide you with a license free of charge. It's quite
possible that his licensing scheme is simply to ensure that if people are
actually making money off of Jess that he gets a cut of the action.
(c) In the longer term, I would definitely like to get away from this
licensing problem for SDSA. I did a little hunting and found out the
following:
- There is a JSR for rule based systems called JSR 94:
<http://www.jcp.org/en/jsr/detail?id=94>.
The idea is that this API enables people to write code that allows people
to swap in different underlying rule engines that conform to this JSR.
Jess conforms to this API.
- There appears to be a pretty good open source rule based engine called
Drools, which has been incorporated into the JBoss project as JBossRules
but is available as a stand-alone download:
<http://labs.jboss.com/portal/jbossrules/>.
Drools/JBossRules also conforms to JSR 94. There is an overview article on
Drools at:
<http://www.theserverside.com/tt/articles/article.tss?l=Drools>.
So, here are some questions for Hongbing: is SDSA written to the JSR 94
API? More directly, how much effort would it be to move SDSA to
Drools/JBossRules in some future release of Hackystat?
Hongbing is working hard on his thesis right now, so unless this change
would be extremely easy, I'm not suggesting that this happen immediately.
I'm interested right now in simply assessing what would be required, and
have this future change be in Hongbing's mind as he thinks about the future
of SDSA.
Cheers,
Philip
--On Friday, October 20, 2006 7:20 PM -1000 Aaron Kagawa
<[EMAIL PROTECTED]> wrote:
Hey Guys,
I'm interested in creating a Software Development Stream type analysis
that shows whether developers follow the "correct" commit process.
According to what we can collect, this process would look like
1) build the system via freshStart all.junit
2) no Activity.StateChange events
3) then commit
It seems to me that this should live in hackyApp_Sdsa or at the very
least hackyApp_Sdsa will provide mechanisms to make this type of analysis
easier.
However, I have a couple concerns about this module. The biggest concern
is the use of Jess. To my knowledge it isn't freely available. Thus,
using this module will probably not be possible in my organization.
Any thoughts on how I should proceed?
thanks, Aaron