Analysis and Understanding

Slides:



Advertisements
Similar presentations
CSC271 Database Systems Lecture # 18. Summary: Previous Lecture  Transactions  Authorization  Authorization identifier, ownership, privileges  GRANT/REVOKE.
Advertisements

Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Lecture 13 Revision IMS Systems Analysis and Design.
Design and Evaluation of Iterative Systems n For most interactive systems, the ‘design it right first’ approach is not useful. n The 3 basic steps in the.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
Task analysis 1 © Copyright De Montfort University 1998 All Rights Reserved Task Analysis Preece et al Chapter 7.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
RISK MANAGEMENT IN SOFTWARE ENGINEERING RISK MANAGEMENT IN SOFTWARE ENGINEERING Prepared by Prepared by Sneha Mudumba Sneha Mudumba.
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
What is Business Analysis Planning & Monitoring?
S/W Project Management
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Requirements Analysis
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
SOFTWARE DESIGN.
Drexel University CS 451 Software Engineering Winter Yuanfang Cai Room 104, University Crossings
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Topics Covered Phase 1: Preliminary investigation Phase 1: Preliminary investigation Phase 2: Feasibility Study Phase 2: Feasibility Study Phase 3: System.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Jane Reid, AMSc IRIC, QMUL, 30/10/01 1 Information seeking Information-seeking models Search strategies Search tactics.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Smart Home Technologies
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It describes what is a user doing or will.
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It specifies what functions the user will need.
Supporting the design of interactive systems a perspective on supporting people’s work Hans de Graaff 27 april 2000.
Public Management Information Systems System Analysis & Design Saturday, June 11, 2016 Hun Myoung Park, Ph.D. Public Management & Policy Analysis Program.
DESIGN PROCESS AND CONCEPTS. Design process s/w design is an iterative process through which requirements are translated into a “blueprint” for constructing.
 System Requirement Specification and System Planning.
AS Level ICT Analysis. Analysis is the process of breaking down a problem into small parts so that it is easier to understand and therefore easier to.
Advanced Software Engineering Dr. Cheng
GRASP – Designing Objects with Responsibilities
7. Modular and structured design
Business System Development
Basic Concepts in Software Design
User-centred system design process
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
The Systems Engineering Context
Introduction to System Analysis and Design
Basic Concepts in Software Design
IT6004 – SOFTWARE TESTING.
Requirements Analysis and Specification
Chapter 2 SW Process Models
Chapter 5: Project Scope Management
IS442 Information Systems Engineering
9. Introduction to signal detection
System Requirements Specification
THE BUSINESS ANALYSIS PROCESS MODEL
Knowledge Representation
Software Requirements analysis & specifications
Information Systems Development
CIS 488/588 Bruce R. Maxim UM-Dearborn
Engineering Processes
CIS 487/587 Bruce R. Maxim UM-Dearborn
Test Planning Mike O’Dell (some edits by Vassilis Athitsos)
Designing Intelligence
CIS 488/588 Bruce R. Maxim UM-Dearborn
Usability Techniques Lecture 13.
CIS 488/588 Bruce R. Maxim UM-Dearborn
DMAIC Roadmap DMAIC methodology is central to Six Sigma process improvement projects. Each phase provides a problem solving process where-by specific tools.
CATHCA National Conference 2018
What is a System? A system is a collection of interrelated components that work together to perform a specific task.
Presentation transcript:

Analysis and Understanding CIS 488/588 Bruce R. Maxim UM-Dearborn 11/18/2018

AI Engineering Analysis Understanding Aims to investigate the game environment, game engine, and platform Design document is used as input when game engine and AI are developed in parallel Understanding High-level requirements and goals to analyze the problem at hand, irrespective of the game engine and just from the perspective of AI development 11/18/2018

Write It Down It is vital to spend time writing down your thoughts on all problems tackled You want to avoid wasting time revisiting closed issues Add this stuff to the development notes (electronic with backup is probably better than paper) 11/18/2018

Big Picture - 1 Platform – SW and HW supporting development (game world and game engine) Task – conceptual explanation of goals of AI within platform (understanding local info to prevent collision) Information – collection of data from platform to achieve task (environment structure and detail) 11/18/2018

Big Picture - 2 Input – subset of available info converted usable format (input + output = solution scaffolding) Output – possible player actions combined with platform to form outcome Context – implicit state containing info about task, defining effect of outputs and restricting inputs 11/18/2018

Big Picture - 3 Problem – the description of AI module capable of mapping information from input to output (e.g. avoiding individual obstacles) Solution – particular AI component capable of resolving the problem, obtaining the desired outcome while respecting the requirements (e.g. steering behavior) 11/18/2018

Analysis Phase Tackles common principles not particular scenarios Requires studying: General task (universal ability AI is to provide) Platform (aspects of design affecting the task) 11/18/2018

11/18/2018

Assumptions List the facilities of platform that AI can rely on and are taken into account during specification Often sufficient to describe human player interfaces Game engine is usually frozen Developer must decide how much of the platform to expose to the AI and at what level it should be integrated Reuse code whenever practical 11/18/2018

Restrictions Aspects of design or software that affect task at hand Affect the problem, not its specification Taken into account during understanding phase that describes the problem Describe the parts of the game engine that make the problem hard to solve Terrain structure may prevent certain types of movement or prevent gathering perfect info 11/18/2018

Guidelines Design and platform aspects to be taken into account during that application phase Procedures that are to be followed very closely throughout the process Hard to identify specific AI guidelines before game development actually begins Much like agile development any structure added to the process is good, not matter when it is added to the development process 11/18/2018

Understanding Focuses on one particular task and describes how a solution works Relies on: Goals (high-level outcome description discussing what AI needs to achieve) Requirements (development team members requests that need to be accommodated in problem description) Restrictions (implicit aspects of platform that affect problem solution) 11/18/2018

11/18/2018

Criteria and Outcome Describe resulting behavior first Highly desirable to have a well-defined problem outcome If goals are incomplete or uncertain AI engineering is difficult at best An ordered list of high-level problem specific criteria is suitable for this These criteria can be used to evaluate the quality of a problem solution 11/18/2018

Sample Criteria Animats take no steps that cause collisions Allow contact with obstacles only when animat is not moving Restrict animat turns to 20 degrees/second when no obstacles are with in 4 steps 11/18/2018

Problem Decomposition Understanding phase decomposes single outcomes into sequences of actions needed to solve particular problems This makes problems more explicit and easier to solve It is often possible to determine what needs to be done based on observation of human behavior Sometimes description needs to be done by listing scenarios and their restrictions 11/18/2018

General Advice The role of the understanding phase is to describe problems in detail, not solutions This allows domain experts to write problem descriptions with a little training and this will allow for better communication with developers Caution, since lists of criteria are written in natural language they will be ambiguous Ambiguity allows both requirement misinterpretation and flexibility in solution creation 11/18/2018

Tobor Obtains basic information from the environment Tactile sensors are used to detect contact with obstacles Stops when collisions occur and machanically turns around 11/18/2018