1 / 30

Presentation 1: Planning & Design

Presentation 1: Planning & Design. Software Engineering Team 2 CIS 540, Fall 2001. The team. Dave Bacon Jason Bullok Justin Hinson Matt Hoosier Chris Orosco. Description of project.

gespino
Télécharger la présentation

Presentation 1: Planning & Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Presentation 1: Planning & Design Software Engineering Team 2 CIS 540, Fall 2001

  2. The team • Dave Bacon • Jason Bullok • Justin Hinson • Matt Hoosier • Chris Orosco

  3. Description of project A classical strategy game, Hunt the Wumpus, requires a player to navigate through a cave to slay a man-eating beast (the wumpus).

  4. Description of project (2) Our task is to design and implement a multiagent version of the game such that: • The agents play the game without help from human operators. • The agents can cooperate to hunt the wumpus more effectively.

  5. Introduction: Rules • A cave consists of an n x m grid of cells.

  6. Introduction: Rules (2) • Players may walk from one cell to another cell that is directly north, south, east, or west of their location (no diagonal moves). • Some cells contain bottomless pits. Entering such a cell kills the player.

  7. Introduction: Rules (3) • The wumpus (immobile) is located in a randomly chosen cell. A player is eaten and dies if he enters the wumpus’s cell. • A pot of gold is located in one cell. A player is awarded bonus points for finding and collecting the gold.

  8. Introduction: Rules (4) • The player may kill the wumpus by firing an arrow into the wumpus’s cell when the player occupies an adjacent cell.

  9. Introduction: Sensory information • The player begins the game with no knowledge of the cave’s layout or contents. • A player smells a stench if his location is adjacent to the wumpus. • The player feels a breeze if his location is next to a bottomless pit. • The player sees a glitter if the gold is in his current room.

  10. Roles

  11. Reporting methods • Code reviews each meeting • Utilize pluggable architecture by demonstrating new functionality at each meeting • Conversations with individual team members

  12. Risks • Nobody on team has prior A.I. experience. • Can we successfully re-implement the simulator engine? • Difficulty compartmentalizing the agent implementation – nextMove() algorithm will depend on all state information

  13. Risk reduction • Study AI texts. Specific sections of textbooks exist for the “Wumpus World” problem. • Encapsulate the game logic inside abstracted “Agent” interface so that rest of project can proceed while logic is under development.

  14. Resource requirements • Hardware • Server for CVS repository. Will be supplied by a team member. • Software • Java 2 development kit • Other • Artificial Intelligence texts

  15. Work Breakdown

  16. A: Define project stmt. Overall time: 1.5 weeks • Search web for similar projects (3 days) • Determine which set of rules to use for game (1 days) • Determine level of cooperation needed between agents ( 3 days ) • Integrate above results into project statement as given in this presentation. (2 days)

  17. B: Produce object model • Overall time: 1 week • Produce UML diagram of existing simulator (2 days) • Determine what abstractions are re-usable (1 day) • Create a model that allows data hiding, encapsulation, and interchangeability (3 days)

  18. C: Implement skeleton • Overall time: 1 week • Generate stub interfaces for basic compilation (4 days) • Add ability for top-level engine to iterate through agents’ turns and relay units of communication (4 days)

  19. D: Inter-agent protocols • Overall time: 3 weeks • Devise basic algorithm (2 weeks) • Map algorithm onto extension of object model (2 days) • Implement cooperative agents as Agent objects (7 days)

  20. E: UI • Overall time: 5 weeks • Define API (interfaces) that allows generic printAgent() functionality (1 week) • Wrap a temporary text interface around the game engine (1 week) • Implement graphical ability to display current “snapshot” of game (2 weeks) • Develop cell-rendering modules that handle delegation of drawing characters (2 weeks) • Add animation to above cell renderers (2 weeks) • Integrate cell-renderers with general GUI framework (1 week)

  21. F: “Smart” agent • Total time: 3 weeks • Build a stand-in agent with no intelligence (3 days) • Add ability for agent to determine which squares are safe/unsafe (2 days) • Implement safe route-calculation algorithm (5 days) • Logic for choosing among unsafe squares (3 days) • Find fastest way to kill wumpus once somebody discovers his location (4 days) • Add peer-to-peer passing of basic perception information (4 days)

  22. G: Integrating strategy • Total time: 2 weeks • Adapt single-agent game logic with multi-agent strategy algorithm (1 week) • Integration testing on above result (1 weeks)

  23. H: Overall testing • Total: 1 week • Combine GUI and simulation engine (2 days) • Test result ( 2 days ) • Write documentation (2 days)

  24. Schedule: Gantt chart Project def. O.M. Skeleton Cooperation Graphics Smart agent Integration Testing

  25. Schedule: projections • Schedule milestones: • Design finished: Sep. 24 • Skeleton done: Oct. 4 • GUI done: Oct. 22 • Logic done: Nov. 22 • Finish: Nov. 30

  26. Design: background • Existing simulator is shown at left. • This engine is useful as a guide, but is not reusable.

  27. Design: old game engine diagram

  28. Design: old engine problems • Model is entangled, not much abstraction. • Poor encapsulation (public member variables abound) • “Everybody knows about everybody” • Long, complex algorithms with no documentation/comments

  29. Design: new object model

  30. Designs: benefits of new model • Pluggability: • Programming against interfaces allows swapping modules in/out at will • Allows incremental development of intelligence, inter-agent strategy

More Related