⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nm.def

📁 人工智能中Agent开发包。多 Agent 系统是处理自治 Agent 之间知识层的协作问题
💻 DEF
字号:
BEGIN_GENERATOR
  BEGIN_PREAMBLE
    :system "ZEUS-Agent-Generator"
    :version "1.0_b1"
    :ontology ".:nm.ont"
  END_PREAMBLE

  BEGIN_AGENT_NAME_INDEX
    AgentId4 UIA
    AgentId3 FSM
    AgentId2 FTM
    AgentId1 FAA
    AgentId0 VCW
  END_AGENT_NAME_INDEX

  BEGIN_AGENT_ICON_INDEX
    AgentId4 ".:gifs:gui.gif"
    AgentId3 ".:gifs:object.gif"
    AgentId2 ".:gifs:object.gif"
    AgentId1 ".:gifs:object.gif"
    AgentId0 ".:gifs:object.gif"
  END_AGENT_ICON_INDEX

  BEGIN_TASK_NAME_INDEX
    AbstractTaskId6 LookupFaultTable
    AbstractTaskId5 LookupVCPath
    AbstractTaskId4 FT_monitor
    AbstractTaskId3 VCW_monitor
    AbstractTaskId2 FAA_path_manager
    AbstractTaskId1 FSM_request_routing
    AbstractTaskId0 UIA_request_manager
  END_TASK_NAME_INDEX

  BEGIN_AGENT_LIST
(:name AgentId4
     :class ZeusAgent
     :planner_width 1
     :planner_length 20
     :doublebook_fraction 0
     :tasks (AbstractTaskId0
            )
     :acquaintances ((:name AgentId3
                      :relation peer
                     )
                    )
    )
(:name AgentId3
     :class ZeusAgent
     :planner_width 1
     :planner_length 20
     :doublebook_fraction 0
     :tasks (AbstractTaskId1
            )
     :acquaintances ((:name AgentId4
                      :relation peer
                     )
                     (:name AgentId1
                      :relation peer
                     )
                    )
    )
(:name AgentId2
     :class ZeusAgent
     :planner_width 1
     :planner_length 20
     :doublebook_fraction 0
     :tasks (AbstractTaskId6
             AbstractTaskId4
            )
     :acquaintances ((:name AgentId1
                      :relation peer
                     )
                    )
    )
(:name AgentId1
     :class ZeusAgent
     :planner_width 1
     :planner_length 20
     :doublebook_fraction 0
     :tasks (AbstractTaskId2
            )
     :acquaintances ((:name AgentId3
                      :relation peer
                     )
                     (:name AgentId2
                      :relation peer
                     )
                     (:name AgentId0
                      :relation peer
                     )
                    )
    )
(:name AgentId0
     :class ZeusAgent
     :planner_width 1
     :planner_length 20
     :doublebook_fraction 0
     :tasks (AbstractTaskId5
             AbstractTaskId3
            )
     :acquaintances ((:name AgentId1
                      :relation peer
                     )
                    )
    )
  END_AGENT_LIST

  BEGIN_TASK_LIST
(:Primitive AbstractTaskId6
     :time (1)
     :cost (0)
     :consumed_facts ((:type VCPath
                       :id path
                       :modifiers 5
                       :attributes ((element_4 ?node_status.element_4)
                                    (element_3 ?node_status.element_3)
                                    (element_2 ?node_status.element_2)
                                    (element_1 ?node_status.element_1)
                                    (id ?node_status.id)
                                   )
                      )
                     )
     :produced_facts ((:type NodeStatus
                       :id node_status
                       :modifiers 1
                       :attributes ((status_4 ?var388)
                                    (status_3 ?var389)
                                    (status_2 ?var390)
                                    (status_1 ?var391)
                                    (element_4 ?var392)
                                    (element_3 ?var393)
                                    (element_2 ?var394)
                                    (element_1 ?var395)
                                    (id ?var396)
                                   )
                      )
                     )
    )
(:Primitive AbstractTaskId5
     :time (1)
     :cost (0)
     :produced_facts ((:type VCPath
                       :id path
                       :modifiers 1
                       :attributes ((element_4 ?var376)
                                    (element_3 ?var377)
                                    (element_2 ?var378)
                                    (element_1 ?var379)
                                    (id ?var380)
                                   )
                      )
                     )
    )
    (:Rulebase AbstractTaskId4
       (activate_fault_table_look_up
          (VCPath (id ?id))
          =>
          (achieve (fact (NodeStatus (id ?id))) (end_time 3) (confirm_time 1))
       )
       (route_results
          ?path <- (VCPath (id ?id))
          ?node_status <- (NodeStatus (id ?id))
          =>
          (send_message (receiver FAA) (content ?node_status) (type inform))
          (retract ?path ?node_status)
       )
    )
    (:Rulebase AbstractTaskId3
       (activate_db_lookup
          ?request <- (MonitorRequest (id ?id))
          =>
          (achieve (fact (VCPath (id ?id))) (end_time 3) (confirm_time 1))
          (retract ?request)
       )
       (route_results
          ?path <- (VCPath)
          =>
          (send_message (receiver FAA) (content ?path) (type inform))
          (retract ?path)
       )
    )
    (:Rulebase AbstractTaskId2
       (route_request
          ?request <- (MonitorRequest)
          =>
          (send_message (receiver VCW) (content ?request) (type inform))
          (retract ?request)
       )
       (route_response_to_FTM
          ?path <- (VCPath)
          =>
          (send_message (receiver FTM) (content ?path) (type inform))
          (retract ?path)
       )
       (route_response_to_FSM
          ?node_status <- (NodeStatus)
          =>
          (send_message (receiver FSM) (content ?node_status) (type inform))
          (retract ?node_status)
       )
    )
    (:Rulebase AbstractTaskId1
       (route_request
          ?request <- (MonitorRequest)
          =>
          (send_message (receiver FAA) (content ?request) (type inform))
          (retract ?request)
       )
       (route_response
          ?node_status <- (NodeStatus)
          =>
          (send_message (receiver UIA) (content ?node_status) (type inform))
          (retract ?node_status)
       )
    )
    (:Rulebase AbstractTaskId0
       (forward_user_request
          ?monitor_request <- (MonitorRequest)
          =>
          (send_message (receiver FSM) (content ?monitor_request) (type inform))
          (retract ?monitor_request)
       )
       (notify_user
          ?node_status <- (NodeStatus (status_4 ?s4) (status_3 ?s3) (status_2 ?s2) (status_1 ?s1) (element_4 ?e4) (element_3 ?e3) (element_2 ?e2) (element_1 ?e1) (id ?id))
          =>
          (println t Path ?id "has status" ?s1 "at node" ?e1 "; status" ?s2 "at node" ?e2 "; status" ?s3 "at node" ?e3 "; status" ?s4 "at node" ?e4)
          (retract ?node_status)
       )
    )
  END_TASK_LIST

  BEGIN_GENERATION_PLAN
    BEGIN_PREAMBLE
      :platform "Windows"
      :directory "."
    END_PREAMBLE
    BEGIN_AGENT_LIST
      (:id AgentId4
       :generate false
       :status Saved
       :has_gui true
       :zeus_external "UIA_Interface"
       :dns_file "dns.db"
      )
      (:id AgentId3
       :generate false
       :status Saved
       :has_gui false
       :dns_file "dns.db"
      )
      (:id AgentId2
       :generate false
       :status Saved
       :has_gui false
       :dns_file "dns.db"
      )
      (:id AgentId1
       :generate false
       :status Saved
       :has_gui true
       :dns_file "dns.db"
      )
      (:id AgentId0
       :generate false
       :status Saved
       :has_gui false
       :dns_file "dns.db"
      )
    END_AGENT_LIST
    BEGIN_TASK_LIST
      (:id AbstractTaskId6
       :generate false
       :status Saved
      )
      (:id AbstractTaskId5
       :generate false
       :status Saved
      )
      (:id AbstractTaskId4
       :generate false
       :status Saved
      )
      (:id AbstractTaskId3
       :generate false
       :status Saved
      )
      (:id AbstractTaskId2
       :generate false
       :status Saved
      )
      (:id AbstractTaskId1
       :generate false
       :status Saved
      )
      (:id AbstractTaskId0
       :generate false
       :status Saved
      )
    END_TASK_LIST
    BEGIN_NAMESERVER_LIST
      (:name Nameserver0
       :is_root true
       :has_gui false
       :address_output_file "dns.db"
       :time_grain 0.5
      )
    END_NAMESERVER_LIST
    BEGIN_VISUALISER_LIST
      (:name Visualiser0
       :has_gui false
       :dns_file "dns.db"
      )
    END_VISUALISER_LIST
  END_GENERATION_PLAN
END_GENERATOR

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -