Executable Specification for Soar Theory

Slides:



Advertisements
Similar presentations
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Advertisements

 Fundamentals of Web Design.  Describe the history and theory of XHTML  Understand the rules for creating valid XHTML documents  Apply a DTD to an.
CHAPTER 1: AN OVERVIEW OF COMPUTERS AND LOGIC. Objectives 2  Understand computer components and operations  Describe the steps involved in the programming.
ISBN Chapter 3 Describing Syntax and Semantics.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
1 Soar Semantic Memory Yongjia Wang University of Michigan.
Describing Syntax and Semantics
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Programming. Software is made by programmers Computers need all kinds of software, from operating systems to applications People learn how to tell the.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Sadegh Aliakbary Sharif University of Technology Fall 2011.
SWE 619 © Paul Ammann Procedural Abstraction and Design by Contract Paul Ammann Information & Software Engineering SWE 619 Software Construction cs.gmu.edu/~pammann/
Integrating Background Knowledge and Reinforcement Learning for Action Selection John E. Laird Nate Derbinsky Miller Tinkerhess.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Chapter 12 Object Oriented Design.  Complements top-down design  Data-centered view of design  Reliable  Cost-effective.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Lecture10 Exception Handling Jaeki Song. Introduction Categories of errors –Compilation error The rules of language have not been followed –Runtime error.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
Review A program is… a set of instructions that tell a computer what to do. Programs can also be called… software. Hardware refers to… the physical components.
1 Problem Solving  The purpose of writing a program is to solve a problem  The general steps in problem solving are: Understand the problem Dissect the.
The Emergent Structure of Development Tasks
Computer Languages [Computing] Computing.
Advanced Algorithms Analysis and Design
Introduction to UML.
CSC 533: Programming Languages Spring 2016
JavaScript/ App Lab Programming:
MASS Java Documentation, Verification, and Testing
CSC 533: Programming Languages Spring 2015
EGR 2261 Unit 11 Pointers and Dynamic Variables
Algorithms and Problem Solving
Chapter 14: System Protection
Lecture 1 Introduction Richard Gesick.
CSCI-235 Micro-Computer Applications
XML QUESTIONS AND ANSWERS
课程名 编译原理 Compiling Techniques
A451 Theory – 7 Programming 7A, B - Algorithms.
Software Documentation
Lecture 9-2: Interacting with the Superclass (super);
FEASIBILITY STUDY Feasibility study is a means to check whether the proposed system is correct or not. The results of this study arte used to make decision.
John D. McGregor Session 9 Testing Vocabulary
Array.
Soar 9.6.0’s Instance-Based Model of Semantic Memory
CS 790M Project preparation (I)
Optimizing Malloc and Free
Design and Programming
Playing with Semantic Memory
Objective of This Course
SoarUnit Bob Marinier 11/29/2018.
CISC101 Reminders Assn 3 due Friday, this week. Quiz 3 next week.
Bryan Stearns University of Michigan Soar Workshop - May 2018
Fundamentals of Programming
Generic programming in Java
Programming.
Algorithms and Problem Solving
CSE451 Virtual Memory Paging Autumn 2002
Chapter 4: Threads & Concurrency
CIS 488/588 Bruce R. Maxim UM-Dearborn
Tonga Institute of Higher Education IT 141: Information Systems
Team Skill 6 - Building The Right System Part 1: Applying Use Cases
Introducing JavaScript
Tonga Institute of Higher Education IT 141: Information Systems
Review of Previous Lesson
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Object-Oriented Programming (OOPs)
CS 426 CS 791z Topics on Software Engineering
CS 426 CS 791z Topics on Software Engineering
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

Executable Specification for Soar Theory Bob Marinier Devvan Stokes University of Michigan

Why a theory specification? Implementation contains many details which are not part of the theory RETE Performance tricks Manual doesn’t always go into enough detail Can be difficult to tell theory from implementation by looking at the code

Why an executable specification? Forces correctness and completeness Allows us to verify Soar the implementation Ideally it is easier to modify the specification than the implementation

Previous specifications Soar 4 Written in Sceptic (Prolog) Executable Very short (28 rules) Soar 5 Written in Z Not executable (but can do syntax and type checking) Includes many implementation details Very long (200+ pages)

Why another specification? Updated for newest Soar Useful to have specifications in different languages because they have different strengths and weaknesses Prolog gives us unification AsmL gives us parallelism

Abstract state machine Language Highly parallel like Soar Object-oriented Syntax is similar to Java, C# Very useful high-level primitives like Sets and Maps Can supposedly describe any system at any level of abstraction…

Knowledge-level System Soar Levels of Abstraction ACT-R Neural-level System

Knowledge-level System Levels of Description More Specific Less Specific Soar Levels of Abstraction Decision Procedure Matching Neural-level System

Specifying Soar theory is hard… Soar is described at multiple levels of description Completeness is a double-edged sword Not possible to specify all aspects in enough detail to execute without also introducing implementation details One goal then is to introduce as few implementation details as possible, and to clarify which details are theoretical and which are implementational This is hard because sometimes both become intertwined Specification is still far cleaner than the implementation

Benefits so far… Found bugs 356 and 357 Highlighted design decisions that may need to be reconsidered Forced us to rethink some of the basic ideas in Soar

Rethinking Soar Basics Traditionally, Soar has Working Memory and Preference Memory, which overlap slightly (acceptable preferences are in both) Then what is a Working Memory Element?

What is a WME? A basic WME has A (unary) preference has Identifier, Attribute, Value A (unary) preference has Identifier, Attribute, Value, Preference Type Attribute = “operator” in Soar 8 So, structurally, a preference is a kind of WME? But it can’t be a WME since (except for acceptables) preferences are not in Working Memory!

Introducing Short Term Memory Short Term Memory Element (STME) Identifier, Attribute, Value Preference (extends STME) Identifier, Attribute, Value, Preference Type Both are contained in Short Term Memory, which is a Set So WM is the subset of STM which includes non-preferences (triples?) and acceptable preferences And Preference Memory is the subset of STM which includes preferences

Short Term Memory Working Memory Preference Memory STME Identifier Attribute Value Preference extends STME Preference Type WM = STMEs which are not preferences or are preferences with type = ACCEPTABLE

Status Mostly Complete: Decision procedure, matching, preference procedure, basic conditions and actions Current: Justifications Future: Chunking, GDS Currently runs single-state versions of water-jug, blocks-world with search control

Nuggets Coal Specification is coming along well Helped find bugs Has made us aware of alternative ways of thinking about Soar Will be useful for future research and reimplementation AsmL is free for non-commercial use AsmL developers are very responsive to questions Coal Can’t avoid specifying implementation details Slow AsmL tools are not commercial quality