(in-package "RDX") ;; DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN" ( create-goal "Design the Pick-Up Head (PUH)") ( make-root-goal "Product-Manager" "Design the Pick-Up Head (PUH)") ;; Neeraj - the very first time you see a anywhere ;; then do a create-goal and a make-root-goal. ;; But do this only for the very first goal. ;; After this, don't use create-goal or make-root-goal again. ( create-make-decision "Design the Pick-Up Head (PUH)" ;;Goal "Product-Manager" ;;Agent nil ;;Assignments ( list ;;Sub goals "design mirror optics" "design the integrated optics" "design the actuator" "design a base" ) nil ;;Contingencies nil ;;Reasons nil ;;Inputs ) ;;Decision Name - omitted ( create-make-decision "design mirror optics" ;;Goal "Mirror-Designer" ;;Agent nil ;;Assignments ( list ;;Sub goals "choose parts lists" "choose mirror layout" "choose objective lens." ) nil ;;Contingencies nil ;;Reasons nil ;;Inputs ) ;;Decision Name - omitted ( create-make-decision "choose mirror layout" ;;Goal "Mirror-Designer" ;;Agent ( list ;;Assignments ( list "" "" "1 mirror with a cost of $1.00 and a weight of 1.0g.") ) nil ;;Sub goals nil ;;Contingencies nil ;;Reasons nil ;;Inputs ) ;;Decision Name - omitted ( create-make-decision "choose objective lens." ;;Goal "Mirror-Designer" ;;Agent ( list ;;Assignments ( list "" "" "objective lens has a weight of 1.0g and a cost of $10.00.") ) nil ;;Sub goals nil ;;Contingencies nil ;;Reasons nil ;;Inputs ) ;;Decision Name - omitted ( create-make-decision "choose parts lists" ;;Goal "Mirror-Designer" ;;Agent ( list ;;Assignments ( list "" "" "parts list that is compatable with an IOU.") ) nil ;;Sub goals nil ;;Contingencies nil ;;Reasons nil ;;Inputs ) ;;Decision Name - omitted ;; Need FACT icon - will also need ERASE-FACT icon. (tell-fact "Inventory" "IOU-2 is unavailable" ) ;; Need CONTINGENCY icon ( create-make-decision "design the integrated optics" ;;Goal "IOD" ;;Agent ( list ;;Assignments ( list "" "" "IOU-2. This has a cost of $5.00 and a weight of 2.0g.") ) nil ;;Sub goals ( list ;;Contingencies "IOU-2 is unavailable" ) nil ;;Reasons nil ;;Inputs ) ;;Decision Name - omitted ( create-make-decision "design the integrated optics" ;;Goal "IOD" ;;Agent ( list ;;Assignments ( list "" "" "IOU-1. This has a cost of $15.00 and a weight of 1.0g.") ) nil ;;Sub goals ( list ;;Contingencies "IOU-1 is unavailable" ) ( list ;;Reasons "IOU-2 wasn't available." ) nil ;;Inputs ) ;;Decision Name - omitted ( create-make-decision "design the actuator" ;;Goal "Actuator-Designer" ;;Agent ( list ;;Assignments ( list "" "" "a bobbin with a cost of $4.00 and a weight of 4.0g.") ) nil ;;Sub goals nil ;;Contingencies nil ;;Reasons nil ;;Inputs ) ;;Decision Name - omitted ( create-make-decision "design a base" ;;Goal "Base-Designer" ;;Agent ( list ;;Assignments ( list "" "" "PUH base: cost of $4.00 and a weight of 10g.") ) nil ;;Sub goals nil ;;Contingencies nil ;;Reasons ( list ;;Inputs "IOU-1. This has a cost of $15.00 and a weight of 1.0g." ) ) ;;Decision Name - omitted ;; Neeraj - more new stuff. READ CAREFULLY!! ;; This needs to be typed very carefully. ;; After the tag, there is a list of strings. ;; Each string must correspond exactly to an assignment above. ;; No carriage returns. ;; The final string after the list is just an arbitrary name. (create-constraint "Product-Manager" ;;agent ( list ;;List of string assignments "objective lens has a weight of 1.0g and a cost of $10.00." "IOU-1. This has a cost of $15.00 and a weight of 1.0g." "PUH base: cost of $4.00 and a weight of 10g." "parts list that is compatable with an IOU." "a bobbin with a cost of $4.00 and a weight of 4.0g." "1 mirror with a cost of $1.00 and a weight of 1.0g." )"Total Cost" ;;Constraint Name ) ;;INSERTED (resolve-constraint-violation "IOD" `constraint-violation-1 `A-5) ( create-make-decision "design the integrated optics" ;;Goal "IOD" ;;Agent ( list ;;Assignments ( list "" "" "DOU cost will be $5.00 and the weight 5.0g.") ) ( list ;;Sub goals "develop a frame for discrete optics" ) nil ;;Contingencies nil ;;Reasons nil ;;Inputs ) ;;Decision Name - omitted (create-constraint "Product-Manager" ;;agent ( list ;;List of string assignments "DOU cost will be $5.00 and the weight 5.0g." "parts list that is compatable with an IOU.") "DOU Parts" ;;Constraint Name ) ;;INSERTED (resolve-constraint-violation "IOD" `constraint-violation-2 `A-3) ;;INSERTED (resolve-constraint-violation "Mirror-Designer" `constraint-violation-2 `A-3) ( create-make-decision "choose parts lists" ;;Goal "Mirror-Designer" ;;Agent ( list ;;Assignments ( list "" "" "parts list compatible with the DOU.") ) nil ;;Sub goals nil ;;Contingencies nil ;;Reasons nil ;;Inputs ) ;;Decision Name - omitted (create-constraint "Mirror-Designer" ;;agent ( list ;;List of string assignments "parts list compatible with the DOU." "1 mirror with a cost of $1.00 and a weight of 1.0g.") "Parts Layout" ;;Constraint Name ) ;;INSERTED (resolve-constraint-violation "Mirror-Designer" `constraint-violation-3 'A-1) ( create-make-decision "choose mirror layout" ;;Goal "Mirror-Designer" ;;Agent ( list ;;Assignments ( list "" "" "fifth layout: same cost and weight.") ) nil ;;Sub goals nil ;;Contingencies nil ;;Reasons nil ;;Inputs ) ;;Decision Name - omitted ( create-make-decision "design a base" ;;Goal "Base-Designer" ;;Agent ( list ;;Assignments ( list "" "" "Base-2: cost of $6.00 and a weight of 15g.") ) nil ;;Sub goals nil ;;Contingencies nil ;;Reasons nil ;;Inputs ) ;;Decision Name - omitted ( create-make-decision "develop a frame for discrete optics" ;;Goal "Base-Designer" ;;Agent ( list ;;Assignments ( list "" "" "D-frame: cost of $1.00 and a weight of .5g") ) nil ;;Sub goals nil ;;Contingencies nil ;;Reasons nil ;;Inputs ) ;;Decision Name - omitted (create-constraint "Product-Manager" ;;agent ( list ;;List of string assignments "Base-2: cost of $6.00 and a weight of 15g." "fifth layout: same cost and weight." "parts list compatible with the DOU." "DOU cost will be $5.00 and the weight 5.0g." "a bobbin with a cost of $4.00 and a weight of 4.0g." "objective lens has a weight of 1.0g and a cost of $10.00.") "Light Weight" ;;Constraint Name ) ;;INSERTED (resolve-constraint-violation "Base-Designer" `constraint-violation-4 'A-11) ;;INSERTED (make-decision 'd-9) (erase-fact "Inventory" "IOU-2 is unavailable") ;;INSERTED (reject-old-for-new "IOD" 'd-10 'd-6) ;;INSERTED (reject-old-for-new "mirror-designer" 'd-11 'd-5) ;;INSERTED (reject-old-for-new "mirror-designer" 'd-12 'd-3) ( create-make-decision "design a base" ;;Goal "Base-Designer" ;;Agent ( list ;;Assignments ( list "" "" "IOU-2 base: cost of $3.00 and a weight of 8g.") ) nil ;;Sub goals nil ;;Contingencies nil ;;Reasons (list ;;Inputs "IOU-2. This has a cost of $5.00 and a weight of 2.0g.") ) ;;Decision Name - omitted ;;INSERTED (reject-decision "base-designer"'d-14 )