ACHIEVING LOW-LEVEL PLANNING IN JAVA: A REAL-WORLD HANDBOOK