;;;; -*- Mode: LISP; Syntax: Common-Lisp; Base: 10 -*- ;;;; --------------------------------------------------------------------------- ;;;; File name: project-progress-report.lsp ;;;; System: ;;;; Author: Jin Yan ;;;; Created: August 5, 2003 14:18:28 ;;;; Purpose: ;;;; --------------------------------------------------------------------------- ;;;; Modified: Thursday, August 21, 2003 at 18:01:46 by jinyan ;;;; --------------------------------------------------------------------------- (in-package :COMMON-LISP-USER) 8-19-2003. (fire:ask-it '(qpStatesConsistentWith ((aligned P1) (> (Pressure Wg) (Pressure Wf))) (QpAnalysisFn 1) ?states)) complains "Error: attempt to call `fire::declare-state-preconditions' which is an undefined function." It couldn't return 16 states that are supposed to be generated after calling function "find-state-completions" under the constraints: (> (Pressure Wg) (Pressure Wf)) and (aligned P1) Tracing find-state-completions. The problem is around the functions: "explore-exists-choices" and "find-existence-choices". Try to debug next. ;;;(defun make-exists-statement (form) (list 'data::exists form)) Check the tracer files I saved. My guess is that there are certain facts not assumed to LTRE while creating a scenario. Check the scenario.lsp file under gizmo\v7 to see what function you forgot to call under gizmo-fire. create-scenario under both scenario files. 8-20-2003 -Calling (fire::extract-sc-facts 'TwoContainers) seperately, the facts extracted are not the same as the ex1-new file under gizmo scenario directory, made a little change in scenario.lsp and gizmo-translation.lsp and NST-2.lsp (not correctly represented in the scenario part) files. Now calling (fire:ask-it '(qpAnalysisOf (minimalCaseFn TwoContainers) (minimalCaseFn NaiveSteamDomainTheory) nil ?g)) will generate the same scenario as the one generated by gizmo gui loading scenario file. - There are only 6 model-fragments in the gizmo-fire created gizmo object, while it should have 11 model-fragments. - Change all the predicates I- and I+ in NST-2.meld into i- and i+. - Seems all the properties of the domain theory and scenario are the same with the objects generated under gizmo. While there are differences between the properties of each gizmo. Suspect it's still caused by domain theory or scenario diferences. Retrace all the extraction functions for dt and sc. 8-21-2003 Clean up bugs in NST-2.meld file. Problems: The following slots of the gizmo project are not the same as the gizmo object generated under gizmo/v7: 1. gizmo-comp-cycles (gizmo-fire) cl-user(27): (gizmo::current-comp-cycles) 0: Mass(MF4) 0 AmountOf(Water,Gas,G) 1: D[Mass(MF4)] 0 D[AmountOf(Water,Gas,G)] 2: Mass(MF5) 0 AmountOf(Water,Gas,F) 3: D[Mass(MF5)] 0 D[AmountOf(Water,Gas,F)] 4: Mass(Wg) 0 AmountOf(Water,Liquid,G) 5: D[Mass(Wg)] 0 D[AmountOf(Water,Liquid,G)] 6: Mass(Wf) 0 AmountOf(Water,Liquid,F) 7: D[Mass(Wf)] 0 D[AmountOf(Water,Liquid,F)] gizmo(17): (current-comp-cycles) 0: temperature(MF4) 0 temperature(Wf) tboil(water,F) 1: temperature(MF4) 0 tboil(water,F) 2: temperature(MF5) 0 temperature(Wg) tboil(water,G) 3: temperature(MF5) 0 tboil(water,G) 4: 0 temperature(Wf) tboil(water,F) 5: 0 temperature(Wg) tboil(water,G) 6: 0 D[bottom-height(G)] D[level(Wg)] D[level(Wf)] 7: 0 D[bottom-height(F)] D[level(Wf)] 8: 0 D[level(Wg)] D[level(Wf)] 9: 0 D[bottom-height(F)] D[level(Wf)] D[level(Wg)] 10: 0 D[bottom-height(G)] D[level(Wg)] 11: 0 D[pressure(Wg)] D[pressure(Wf)] 12: mass(MF4) 0 amount-of(water,gas,F) 13: D[mass(MF4)] 0 D[amount-of(water,gas,F)] 14: mass(MF5) 0 amount-of(water,gas,G) 15: D[mass(MF5)] 0 D[amount-of(water,gas,G)] 16: amount-of(water,liquid,G) mass(Wg) mass(Wf) 0 amount-of(water,liquid,F) 17: amount-of(water,liquid,G) 0 mass(Wg) mass(Wf) amount-of(water,liquid,F) 18: amount-of(water,liquid,G) mass(Wg) 0 mass(Wf) amount-of(water,liquid,F) 19: amount-of(water,liquid,G) mass(Wg) 0 amount-of(water,liquid,F) 20: amount-of(water,liquid,G) mass(Wg) mass(Wf) amount-of(water,liquid,F) 21: amount-of(water,liquid,G) 0 mass(Wf) amount-of(water,liquid,F) 22: amount-of(water,liquid,G) 0 amount-of(water,liquid,F) 23: D[amount-of(water,liquid,G)] D[mass(Wg)] D[mass(Wf)] 0 D[amount-of(water,liquid,F)] 24: D[amount-of(water,liquid,G)] 0 D[mass(Wg)] D[mass(Wf)] D[amount-of(water,liquid,F)] 25: D[amount-of(water,liquid,G)] D[mass(Wg)] 0 D[mass(Wf)] D[amount-of(water,liquid,F)] 26: D[amount-of(water,liquid,G)] D[mass(Wg)] 0 D[amount-of(water,liquid,F)] 27: D[amount-of(water,liquid,G)] D[mass(Wg)] D[mass(Wf)] D[amount-of(water,liquid,F)] 28: D[amount-of(water,liquid,G)] 0 D[mass(Wf)] D[amount-of(water,liquid,F)] 29: D[amount-of(water,liquid,G)] 0 D[amount-of(water,liquid,F)] 30: mass(Wg) amount-of(water,liquid,G) 0 amount-of(water,liquid,F) mass(Wf) 31: mass(Wg) amount-of(water,liquid,G) 0 mass(Wf) 32: mass(Wg) 0 amount-of(water,liquid,F) mass(Wf) 33: mass(Wg) 0 mass(Wf) 34: D[mass(Wg)] D[amount-of(water,liquid,G)] 0 D[amount-of(water,liquid,F)] D[mass(Wf)] 35: D[mass(Wg)] D[amount-of(water,liquid,G)] 0 D[mass(Wf)] 36: D[mass(Wg)] 0 D[amount-of(water,liquid,F)] D[mass(Wf)] 37: D[mass(Wg)] 0 D[mass(Wf)] 38: level(Wg) bottom-height(G) bottom-height(F) level(Wf) 39: D[level(Wg)] D[bottom-height(G)] 0 D[bottom-height(F)] D[level(Wf)] 40: mass(Wg) 0 amount-of(water,liquid,G) 41: D[mass(Wg)] 0 D[amount-of(water,liquid,G)] 42: mass(Wf) 0 amount-of(water,liquid,F) 43: D[mass(Wf)] 0 D[amount-of(water,liquid,F)] 2. gizmo-comparisons (gizmo-fire) calling (gizmo::current-ineqs) has 62 elements. (gizmo) 88 total. 3. gizmo-computed-preconditions (gizmo-fire) nil (gizmo) ((cl-user::active cl-user::MF4) (cl-user::active cl-user::MF5) (cl-user::active cl-user::Wf) (cl-user::active cl-user::Wg) (cl-user::exists cl-user::MF8) (cl-user::exists cl-user::MF9)) 4. gizmo-quantity-conditions (gizmo-fire) cl-user(33): (gizmo::current-quantity-conditions) unknown(AmountOf(Water,Gas,G),0) unknown(AmountOf(Water,Gas,F),0) unknown(AmountOf(Water,Liquid,F),0) unknown(AmountOf(Water,Liquid,G),0) (gizmo) gizmo(16): (gizmo::current-quantity-conditions) unknown(amount-of(water,gas,F),0) unknown(amount-of(water,gas,G),0) unknown(pressure(Wf),pressure(Wg)) unknown(amount-of(water,liquid,F),0) unknown(amount-of(water,liquid,G),0) Make breakpoints, I guess initialize-gizmo; formulate-exhaustive-model ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; End of Code