540 likes | 693 Views
AGImap-Tutorial, ICCM 2006. Jeronimo Dzaack Nele Pape Leon Urbas. Marcus Heinath Sandra Trösterer Juergen Kiefer. Agenda. Introduction (15 min.) The AGImap concept The process control system (pcs) Tutorial (90 min.) Try the pcs-simulation Specify AGI-elements
E N D
AGImap-Tutorial, ICCM 2006 Jeronimo Dzaack Nele Pape Leon Urbas Marcus Heinath Sandra Trösterer Juergen Kiefer
Agenda Introduction (15 min.) • The AGImap concept • The process control system (pcs) Tutorial (90 min.) • Try the pcs-simulation • Specify AGI-elements • Integrate AGI-strategies • Replace AGI-strategies Discussion (30 min.) break (15 min.) break (15 min.) AGImap-Tutorial, ICCM 2006
We are founded by The research group MODYS • An interdisciplinary research group (computer science, psychology, cognitive science, engineering) • Interested in human-machine interaction in complex dynamic systems, information processing, multitasking • Involved in cognitive modeling using ACT-R AGImap-Tutorial, ICCM 2006
Aim of the tutorial • Introduce our approach of AGImap • Tool-support of cognitive modeling • Allows cognitive models to “see” and interact with external simulations • Provides reusable code fragments • Easy to use and learn • In this tutorial, you will learn and use AGImap AGImap-Tutorial, ICCM 2006
The AGImap concept (Overview) application Simulation visualization button USER AGImap-Tutorial, ICCM 2006
AGImap --------- *ACT-R GUI Interface AGI * transform USER MODEL The AGImap concept (Overview) application Simulation visualization ≈ button GUI USER AGImap-Tutorial, ICCM 2006
The AGImap concept (Overview) application Simulation AGImap visualization ≈ button AGI USER MODEL USER AGImap-Tutorial, ICCM 2006
heater The Process Control System (PCS) Important elements: • Heater • Valve • Level Task: • Regulate the level with the heater and the valve between the lower and the upper bound • Stabilize the level AGImap-Tutorial, ICCM 2006
The AGImap concept (Overview) Simulation AGImap ≈ button AGI USER MODEL USER AGImap-Tutorial, ICCM 2006
The AGImap concept (Overview) Simulation AGImap ≈ button AGI USER MODEL USER AGImap-Tutorial, ICCM 2006
AGImap- editor transform transform The AGImap concept (AGI-elements) Simulation AGImap button GUI-elements AGI-elements USER MODEL USER AGImap-Tutorial, ICCM 2006
simulation data (variables / values) mapper AGI textual representation of the data The AGImap concept (AGI-mapper) Simulation AGImap AGI USER MODEL AGImap-Tutorial, ICCM 2006
The AGImap concept (AGI-strategies) Simulation AGI AGImap AGI-elements perception strategies action strategies AGI User Model Define AGI-strategies for perception of and action with AGI-elements USER MODEL AGImap-Tutorial, ICCM 2006
The AGImap concept (AGI-strategies) Simulation AGI AGImap AGI-elements perception strategies action strategies AGI User Model Define AGI-strategies for perception of and action with AGI-elements USER MODEL AGImap-Tutorial, ICCM 2006
Summary of the AGImap concept • Describe and specify real user interfaces inAGI (ACT-R GUI Interface) • Connect user model and simulation via mapping • Integrate interaction strategies to reuse cognitive models AGImap-Tutorial, ICCM 2006
Now it´s your turn... • Please copy the folder iccm_agi to your c:/ drive AGImap-Tutorial, ICCM 2006
Agenda Introduction (15 min.) • The AGImap concept • The process control system (pcs) Tutorial (90 min.) • Try the pcs-simulation • Specify AGI-elements • Integrate AGI-strategies • Replace AGI-strategies Discussion (30 min.) break (15 min.) break (15 min.) AGImap-Tutorial, ICCM 2006
Try the pcs-simulation • Please openc:/iccm_agi/microworld/Experiment.jar • Choosecmu_even_trials/gef_hoch_out.xml • Click on the simulation-window • Click on the button „Start“ Now the simulation starts AGImap-Tutorial, ICCM 2006
Agenda Introduction (15 min.) • The AGImap concept • The process control system (pcs) Tutorial (90 min.) • Try the pcs-simulation • Specify AGI-elements • Integrate AGI-strategies • Replace AGI-strategies Discussion (30 min.) break (15 min.) break (15 min.) AGImap-Tutorial, ICCM 2006
The user model perceives and interacts with the parameters • Interaction: • User model interactions with the AGI are transferred to the simulation Simulation AGImap button • Perception: • Simulation changes are mapped on the AGI and perceived by the User Model AGI USER MODEL USER AGImap-Tutorial, ICCM 2006
AGImap- editor transform transform The AGImap concept (AGI-elements) Simulation AGImap button GUI-elements AGI-elements USER MODEL USER AGImap-Tutorial, ICCM 2006
Purpose of the AGImap-editor • specify elements of external simulations • provide interface for user models (AGI Window) • connect user models with “external environments” (mappers) • AGImap-editor: • independent of platform (java) • simple and easy to use • modular • extendable (XML specification) AGImap-Tutorial, ICCM 2006
Specification of AGI-elements for the object “heater” Two AGI-elements needs to be specified to represent the object “heater” h AGImap-Tutorial, ICCM 2006
Two AGI-elements needs to be specified to represent the object “heater” h • A textual representation with a mapper Changes can be perceived E.g., (maptext2color) h h Specification of AGI-elements for the object “heater” • A button representation Actions can be accomplished By a function of the simulation (toggle) h AGImap-Tutorial, ICCM 2006
mapper simulation value type AGI representation type mapText2Text text text mapText2Color text colour mapNumber2Position number position (x,y) mapNumber2Format number text (formatted) mapNumber2Text number text Different mappers: • change the color (maptext2color) • change the position (maptext2position) • … h h AGImap-Tutorial, ICCM 2006
Simulation Window AGI Window heater Task 1: AGImap-editor • Open the AGImap-editor • c:/iccm_agi/AGImap-editor/start_win.bat • Please specify new AGI-elements for the object “valve” by using the AGImap-editor. • Choose: projectBG Imagepcs.gif. (This background image is just for orientation) AGImap-Tutorial, ICCM 2006
The concept of the AGImap-editor Validate AGI-description (XML) Load picture of the simulation interface Transform AGI-description (Lisp) Select AGI-element Position AGI-element Select AGI-mapper AGImap-Tutorial, ICCM 2006
GUI-elements specified as AGI-elements AGI-elements connected with simulation variables The concept of the AGImap-editor Validate AGI-description (XML) Load picture of the simulation interface Transform AGI-description (Lisp) Select AGI-element Out .lsp Position AGI-element Select AGI-mapper AGImap-Tutorial, ICCM 2006
Agenda Introduction (15 min.) • The AGImap concept • The process control system (pcs) Tutorial (90 min.) • Try the pcs-simulation • Specify AGI-elements • Integrate AGI-strategies • Replace AGI-strategies Discussion (30 min.) break (15 min.) break (15 min.) AGImap-Tutorial, ICCM 2006
AGI-strategies application Simulation AGImap visualization ≈ button AGI USER MODEL USER AGImap-Tutorial, ICCM 2006
AGI-strategies Simulation AGI AGImap AGI-elements perception strategies action strategies AGI User Model USER MODEL AGImap-Tutorial, ICCM 2006
(P agimap-getState-retrieve) • (P agimap-getState-find) • (P agimap-getState-attend) • (P agimap-getState-read) AGI-strategies • Implemented strategies • getState • getLevelTrend • clickButton Of course other strategies are possible!! AGImap-Tutorial, ICCM 2006
Integration in ACT-R AGImap-Tutorial, ICCM 2006
have to be filled to access strategy Integration in ACT-R • Integration of getState for the element “valve” in the ACT-R code of the model integration of clickButton is your task • agimap-getState has 4 slots statetarget resultlast-goal-id last-goal-id is necessary because there does not exist a goal stack in ACT-R 6.0 AGImap-Tutorial, ICCM 2006
Integration in ACT-R (step 1 of 3) AGImap-Tutorial, ICCM 2006
Integration in ACT-R (step 1 of 3) • 1. GAIN INFORMATION:if valve is unknown, get state of valve by AGImap Name of productionIF goal ispcs and valve is unknownTHENrequest agimap-getState with the target valve, the state start and pass the id (P gain-information-valve =goal> isa pcs valve unknown ==> +goal> isa agimap-getState target valve state start last-goal-id =id) !bind! =id (get-time) =goal> id =id AGImap-Tutorial, ICCM 2006
Integration in ACT-R (step 2 of 3) AGImap-Tutorial, ICCM 2006
Integration in ACT-R (step 2 of 3) • 2. GAIN INFORMATION DONE:if getState is done and target is valve retrieve old goal Name of ProductionIF goal is agimap-getState and state is doneandretrieval buffer is not busyTHENretrieve goal before switching to AGImap by last-goal-id (P gain-information-done-getState =goal> isa agimap-getState state done last-goal-id =last-goal-id ?retrieval> - state busy ==> +retrieval> isa pcs id =last-goal-id) AGImap-Tutorial, ICCM 2006
Integration in ACT-R (step 3 of 3) • 3. GAIN INFORMATION FINISHED:if goal is retrieved and getState with result goal = retrieved goal and add result Name of ProductionIF the goal is agimap-getState and the target is valve and result is known for valve andpcs and the known states for level, heater and trend are retrievedTHENset the goal to the retrieved goal and additional to the known states addresultfor valve (P gain-information-finished-valve =goal> isa agimap-getState target valve result =valve =retrieval> isa pcs level =level heater =heater trend =trend ==> +goal> isa pcs level =level heater =heater valve =valve trend =trend) AGImap-Tutorial, ICCM 2006
Integration in ACT-R 6.0 TASK 2 • Integrate the strategy clickButton for the element “valve” in the ACT-R code of the model • clickButton has 5 slots: state target intention result last-goal-id • File to work with: c:/iccm_agi/02_task2/models/pcsICCM_2.lisp have to be filled to access strategy to which color shall the button be set?(either red or green) AGImap-Tutorial, ICCM 2006
Integration in ACT-R (step 1 of 3) AGImap-Tutorial, ICCM 2006
Integration in ACT-R (step 1 of 3) 1. RULE:click button of valve Cheat sheet Handout (P rule_1IF goal is pcs, the valve is closed (red) and the level aboveTHENrequest agimap-clickButton with the target valvethe intention greenthe state startand pass the id) AGImap-Tutorial, ICCM 2006
Integration in ACT-R (step 2 of 3) AGImap-Tutorial, ICCM 2006
Integration in ACT-R (step 2 of 3) 2. RULE DONE:if any button is clicked via AGImap retrieve old goal (P gain-information-doneIF goal is agimap-clickButton and state is doneandretrieval buffer is notbusyTHENretrieve goal before switching to AGImap by last-goal-id ) AGImap-Tutorial, ICCM 2006
Integration in ACT-R (step 3 of 3) 3. RULE FINISHED:if button is clicked, target is valve and old goalis retrieved change goal and add result (P rule-finished-valveIF the goal is agimap-clickButton and the target is valve and the result is known for valve andpcs and the known states for level, heater and trend are retrievedTHENset the goal to the retrieved goal and additional to the known states add result for valve) AGImap-Tutorial, ICCM 2006
Agenda Introduction (15 min.) • The AGImap concept • The process control system (pcs) Tutorial (90 min.) • Try the pcs-simulation • Specify AGI-elements • Integrate AGI-strategies • Replace AGI-strategies Discussion (30 min.) break (15 min.) break (15 min.) AGImap-Tutorial, ICCM 2006
AGI-strategies • We have implemented new AGI-strategies for getState and getLevelTrend MEMORY RETRIEVALuse unique description of AGI-element e.g. heaterold strategies VISUAL SEARCHsearch for displayed elements e.g. “h”new strategies AGImap-Tutorial, ICCM 2006
AGI-strategies TASK 3 • Modify the ACT-R code of the model to use the new strategies • getState-new • getLevelTrend-new • File to work with: c:/iccm_agi/03_task3/models/pcsICCM_3.lisp AGImap-Tutorial, ICCM 2006
Don´t use the „replace“ function AGI-strategies TASK 3 – Hint (P gain-information-valve … ==> +goal> isa agimap-getState target valve state start last-goal-id =id ) old Handout (P gain-information-valve … ==> +goal> isa agimap-getState-new target “v” state start last-goal-id =id ) new AGImap-Tutorial, ICCM 2006