Implementing the ACT-R system in Java. This implementation must be so abstract that you could train it for every thing you want to.