ISICL Intuitive Strategic Intelligence Control LanguageIntroductionBackgroundWhy ISICL?Code ExampleDevelopment EnvironmentChallengesHandling the challengesTestingLessons LearnedConclusionISICLIntuitive Strategic Intelligence Control LanguageCOMSW4115Michele CozartMatthew KeitzMichael MarcusIntroductionISICL Simulated robotic tank control language Compiles into functioning Robocode Designed for programmers interested in AI Adds state machine functionality Simplifies java syntaxBackgroundRobocodeMatthew Nelson of IBM Robotic battle simulator Encourages proficiency in Java It’s FUN!Why ISICL?Intuitive way to define a Robocode tankAbstracts away complicated event handlersAdds state machine functionalityPlatform independent codeEasily extensibleUser-defined actions and statesInheritanceCode Examplestate START:ahead 20[ScannedEnemy -> SHOOT]state SHOOT: …Development EnvironmentantlrJava 1.4.1RobocodeRCSUnix and WindowsDevelopment and testing platformsColumbia servers for code/websiteChallengesTeam members split across countryCommunication issues Time zonesA team member disappeared Lost knowledge Lost development helpDiverse team Age, gender, goals, purpose, desired outcomeHandling the challengesCode repository “always” accessible by allISICL website used to organize group informationInstant Messager is a MUST.Meetings take FOREVERMet twice a week to plan and for status updates, more often towards the endEveryone willing to pitch inTestingTest early, test oftenRegression tests are importantTest harnesses are effectiveIntegration testing is vital but gets slighted due to time constraintsLessons LearnedAgreement on goal/purposeClear tasks and requirementsConcrete schedule with firm deadlinesExpect things to take longer than they shouldSpend time on developing interfaces between the components.ConclusionISICL is cool (forgive the pun)We learned a lot!Questions?Please visit our website
View Full Document