CN101102207A - 基于智能代理的开发平台 - Google Patents

基于智能代理的开发平台 Download PDF

Info

Publication number
CN101102207A
CN101102207A CNA2006100615425A CN200610061542A CN101102207A CN 101102207 A CN101102207 A CN 101102207A CN A2006100615425 A CNA2006100615425 A CN A2006100615425A CN 200610061542 A CN200610061542 A CN 200610061542A CN 101102207 A CN101102207 A CN 101102207A
Authority
CN
China
Prior art keywords
intelligent
intelligent agent
agent
layer
iato
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2006100615425A
Other languages
English (en)
Inventor
李树德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CNA2006100615425A priority Critical patent/CN101102207A/zh
Priority to PCT/CN2007/000496 priority patent/WO2008006267A1/en
Priority to US11/693,313 priority patent/US20080010229A1/en
Publication of CN101102207A publication Critical patent/CN101102207A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种基于智能代理技术(Intelligent Agent Technology)简称"IAT"的开发平台,该平台提供基于智能代理的开发环境,该开发平台包括:第一模块,提供全面的人工智能(Artificial Intelligence)和基于智能本体代理技术(IATology)的应用程序界面,用于构建各种智能代理应用程序;和第二模块,用于存储数据,并对数据进行智能分析处理以及将处理结果提供给所述第一模块。本发明提供真正具有感觉、分析和逻辑推理能力的智能代理系统,而且也提供了基于智能本体代理(IATo)的开发环境,以作为将来智能电子商务应用的基本框架和开发环境。

Description

基于智能代理的开发平台
技术领域
本发明涉及通信及智能技术领域,更具体地说,涉及一种充分集成了基于智能代理(Intelligent Agent)电子商务应用的开发平台。
背景技术
Intelligent Agent,中文译为智能代理、智能体或艾真体(鉴于目前国内对Intelligent Agent的译法尚无统一认识,以下将直接使用原文的IntelligentAgent)。所谓的Intelligent Agent,在信息技术尤其是智能和计算机领域,可以看作是能够通过传感器感知其环境,并借助于执行器作用于该环境的任何事物。例如对于人Intelligent Agent,其传感器为眼睛耳朵和其它感官,其执行器为手、腿、嘴和身体的其它部分。对于软件Intelligent Agent,则同过编码位的字符串进行感知和作用。
人工智能的主要任务就是设计Intelligent Agent程序,即实现IntelligentAgent从感知到动作的映射方法。这种Intelligent Agent程序需要在某种称为结构的计算设备上运行。这种结构可以是一台普通的计算机,或者可能包含执行某种任务的特定硬件,还可能包括在计算机和Intelligent Agent程序间提供某种程度隔离的软件,以便在更高层次上进行编程。一般意义上体系结构使得传感器的感知对于程序可用,运行程序并把该程序的作用选择反给执行器。
随着近几年来的电子商务和网络技术的高速发展,许多不同的电子商务应用和移动计算系统一直在电子空间得到运转。
电子商务,越来越多的人看好Internet上的商业机会。网上的商品越多,在网上寻找商品就越是买方的一大负担;同时,卖方商品的推销也有一个对客户实行因人而宜的主动服务问题。因此;采用Intelligent Agent系统,代表买方去网上查看“广告牌”、逛“商店”寻找商品甚至讨价还价,代表卖方分析不同用户的消费倾向,并据此向特定的潜在用户群主动推销特定的商品,都是非常有诱惑力的。
因此,在大量的信息库里面,提供基于智能的系统(如Intelligent Agent)似乎是未来的一个新希望。然而,目前基于Intelligent Agent的开发环境,如IBM Aglet和ObjectSpace Voyager,只注重代理(Agents)的移动功能,而没有提供人工智能方面的功能。因此,限制了智能代理技术的开发和应用。
发明内容
本发明要解决的技术问题在于,针对现有技术的开发平台没有提供人工智能方面的功能的缺陷,提供一种基于智能代理开发平台,该平台提供全面的人工智能和基于本体Agent的APIs,以及未来电子商务的应用和基于本体的应用。
本发明解决其技术问题所采用的技术方案是:构造一种基于智能代理的开发平台,该平台提供基于智能代理的开发环境,该开发平台包括:
第一模块,提供全面的人工智能和基于本体代理技术的应用程序界面,用于构建各种智能代理应用程序;和
第二模块,用于存储数据,并对数据进行智能分析处理以及将处理结果提供给所述第一模块。
在本发明所述的开发平台中,所述第一模块具体包括:
应用层,包括基于智能本体代理的各种应用程序,所述应用程序由智能层的智能代理组件和所述第二模块的数据集成的;
本体层,以代理的大脑知识为基础的,提供必要的知识以供代理开始其合理地和有知识地思考处理,这层的大脑知识已被命名为IATology-20000,中文名为IATo智能本体知识;
智能层,提供基于感觉领域、逻辑推理领域以及分析领域的人工智能基础,并使用由技术层所提供的代理组件;
技术层,为智能层的智能代理组件的开发提供必要的移动代理对象应用程序界面,包括提供全面的多智能代理为基础的开发平台的IATo SDK软件开发工具和提供可理解的标记语言来提高智能代理通信和数据交换的IATo ML开发工具;及
支持层,提供支持该层的所有必要系统,包括支持基于JAVA的编程语言、基于HTTP、ATP的网络协议以及基于HTML、XML、WML的标记语言。
在本发明所述的开发平台中,所述第二模块具体包括:
数据层,用于存储来自智能代理大脑的原始数据,同时也是知识的来源。
神经网络层,用于控制存储在所述数据层的数据,以便可以产生知识,并且思维处理可以被初始化,以及智能代理能够根据其经验进行学习或自我纠正;及
应用层,用于获得来自所述数据层和所述神经网络层的充分支持,以便智能代理具有足够的知识和思维能力进行自主生活和工作。
在本发明所述的开发平台中,所述应用层中所包括的应用程序具体包括:
用于电子购物的智能本体网页数据挖掘的代理系统IATo eMiner;
用于新一代以智能本体知识为基础的信息及资信搜寻系统IAToInfoSeeker;
用于新一代以智能本体天气预测的代理系统IATo WeatherMAN;
用于在网络上进行智能移动购物的一系列的智能代理系统IATo shopperseries;
基于智能本体代理的股票预测的代理系统IATo Stock Advisor;
基于新一代以智能本体知识为本的信息及资信搜寻系统IATo InfoSeeker;及
基于自动智能本体代理的智能监视系统IATo Surveillant。
在本发明所述的开发平台中,所述智能代理具体包括以下基本要求:自主性、移动性、反作用性、主动性、适应性、顽健性、通信性、学习性、任务导向性以及目标导向性。
在本发明所述的开发平台中,所述IATo SDK开发工具包括在智能代理开发平台上排列的所有强制组件,所述强制组件包括智能代理管理系统、信息传输服务器以及目录决策者。
在本发明所述的开发平台中,所述智能代理的基本功能和运行时间属性由智能代理、智能代理开发平台内提供所有控制功能的生命周期管理者、记录智能代理注册信息的注册管理者以及在智能代理平台内控制消息传送的通信管理者的类来定义。
在本发明所述的开发平台中,所述应用程序界面包括:提供创建、激活、无效、复制、分发、解除以及退出的控制功能的第一区域、提供系统写入日志和显示服务器内发生激活的信息的第二区域、提供显示树状类型的智能代理列表的第三区域以及显示消息广播类型的第四区域。
本发明的有益效果是,本发明提供真正具有感觉、分析和逻辑推理能力的Intelligent Agent,而且也提供了基于智能本体代理的开发环境,以作为将来智能电子商务应用的基本框架和开发环境。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明的系统框架图;
图2是本发明的用户界面示意图;
图3是本发明的IATo SDK Intelligent Agent平台的基本架构的示意图;
图4是本发明的Intelligent Agent通信的示意图;
图5是本发明注册Intelligent Agent的示意图;
图6是本发明创建Intelligent Agent的示意图;
图7是本发明分发Intelligent Agent(发送方)的示意图;
图8是本发明分发Intelligent Agent(接收方)的示意图;
图9是本发明的用户界面的示意图;
图10是本发明的创建Intelligent Agent对话框的示意图;
图11是本发明的分发Intelligent Agent对话框的示意图。
具体实施方式
本发明提供一种新颖的、基于智能本体代理的开发环境,称为智能代理的开发平台(The Utopia of Intelligent Agent简称为IATopia)。目的在于开发一种充分集成了基于智能本体的多Intelligent Agent系统,以作为将来智能电子商务(intelligent E-Business,简称iEB)应用的基本框架和开发环境。
本发明能够实现各种基于Intelligent Agent的应用,包括IAToTravelGuider(智能本体旅游指导Agent)和IATo Stock Advisor(智能本体股票顾问系统)等等。
为使本发明的目的、技术方案及优点更加清楚明白,以下通过具体实施例并参见附图,对本发明进行详细说明。
本发明的框架(功能和模块):
本发明充分地集成了基于智能Agent电子商务应用的智能本体代理模块。系统框架图如图1所示,不像目前的Inelligent Agent系统和应用程序界面(Application Programming Interfaces,简称APIs),如IBM Aglets,ObjectSpaceVoyager和IATo产品,本发明的重点在于多Intelligent Agent通信和自动操作,目的在于提供全面的人工智能和基于本体代理的APIs,以及未来电子商务的应用和基于本体代理的应用。
从图1可以看出,本发明的框架包括两个主要模块:第一模块为应用智能本体代理技术支持层(Application-Ontolgy-Intelligent-Technology-SupportingLayer,简称AOITS)模块,第二模块为数据神经网络应用层(Data-NeuralNetwork-Application Layer,简称DNA)模块,其中,AOITS模块包括应用层(Application Layer)、本体层(Ontolgy Layer)、智能层(Intelligent Layer)、技术层(Technology Layer)以及支持层(Supporting Layer),DNA模块包括数据层(Data Layer)、神经网络层(Neural Network Layer)以及应用层(Application Layer)。下面分别对AOITS模块的各层进行说明。
应用层(Application Layer):处于系统的最上层,包括基于不同智能本体代理的应用程序,这些应用程序(也就是所谓的IATo)是由来自智能层(Intelligent Layer)的智能本体代理组件和来自DNA模块的数据知识领域(“knowledge fields”)集成的。在该层一些示例的应用程序将得到实现,包括:
IATo eMiner:为电子购物的智能本体网页数据挖掘的Agent系统,包括:1)IAto Authenicator,基于人脸识别的自动鉴证系统;2)IATo Shopper,基于模糊Agent的网上购物Agent。
IATo InfoSeeker:用于新一代以智能本体知识为基础的信息及资信搜寻系统。
IATo WeatherMAN:为智能本体天气预测Agent,是目前利用模糊神经网络对多站天气预测研究的一个延伸。不像传统的网页数据挖掘Agent,传统的网页数据挖掘Intelligent Agent集中在自动提取和提供最新的天气信息,IAToWeatherMAN能够处理基于神经网络的天气预测。智能服务由IATopia模块的意识层(Conscious layer),扮演虚拟的天气预报员,与天气预测的智能天气预报员一样。
IATo Shopper Series:一种具有WAP技术、集成了本体智能的模糊购物Agent,用于在网络上进行智能移动购物。
IATo Stock Advisor:为基于智能本体Agent的股票预测系统,通过超径向基方法神经网络(Hybrid Radial Basis Function Recurrent Network,简称HRBFN),进行时间周期预测。
IATo InfoSeeker,新一代以智能本体知识为本的信息及资信搜寻系统。
IATo Surveillant:为基于自动本体Agent的监视系统。
本体层(Ontolgy Layer):以智能代理的大脑本体知识为基础的,提供必要的知识以供智能代理开始其合理地和有知识地思考处理。该层提供该本体框架,也就是所谓的本体中心,具体包括以下5个功能模块:
基于智能本体的感应中心(intelligent ontology-based Sensation Center,简称IAToSC)、基于智能本体的记忆中心(intelligent ontology-based MemoryCenter,简称IAToMC)、基于智能本体的知识中心(intelligent ontology-basedKnowledge Center,简称IAToKC)、基于智能本体的语言中心(intelligentontology-based Language Center,简称IAToLC)、基于智能本体的论理学中心(intelligent ontology-based Ethics Center,简称IAToEC)。
上述5各功能模块符合FIPA本体服务规范(XC00086D),由这些功能模块设计和构造出的本体Agent(IATo Agent)具有以下功能(即,等级要求):
表示:用于表示和发现公众本体(特别是在国外平台的本体)。
管理:用于维持和管理由DNA模块提供的服务和设备.
翻译:用于在不同本体和/或不同内容语言之间的通信和翻译概念、含义,和通用。
解释:用于响应和解释涉及在不同概念和本体之间的关系的所有问题。
智能层(Intelligent Layer):该层提供本系统的智能基础,使用由技术层(Technology Layer)所提供的Agent组件。意识层(Conscious layer)包括以下三大主要人工智能功能领域:
感觉领域(Sensory Area)-用于将输入信息激化为可识别和注释的信息。包括:视觉感觉Agent,使用弹性图动态链接模块(Elastic Graph Dynamic LinkModel,简称EGDLM),用于无变化的可视目标识别;听觉感觉Agent,基于微波特征提取和集成技术。
逻辑推理领域(Logic Reasoning Area)-意识和推理支持,如模糊和基于GA(传统算法)规则的系统。
分析领域(Analytical Area)-包括各种智能工具,用于分析计算,如用于实时预测和数据挖掘的循环神经网络分析。
技术层(Technology Layer):该层为意识层(Conscious layer)的智能代理组件的开发提供了所有必要的移动Intelligent Agent对象APIs。
对比于IBM Aglets开发平台,本发明替代IBM Aglets并作为Agent支柱,对下面两个新颖的开发工具作了改进:
IATo SDK(IATopia Development Kit)和
IATo ML(IATopia Markup Language)
IATo SDK的主要功能是提供全面的多智能代理为基础的开发平台,该平台具有智能Agent为基础的JAVA类和文件库,包括:Agent通信,商议,智能Agent工具,等等。IATo ML的主要功能是提供可理解的标记语言来提高智能代理通信和数据交换。
在该技术层中,服务器端使用Java Servlet技术计算也是适用于基于某种智能代理的应用程序,如IATo Shopper Series的限制资源(内存和计算速度)由WAP设备(如WAP电话机)提供,通过在backend WAP服务器使用JavaServlet技术来调用所有IATo Agent的用户界面。
支持层(Supporting Layer):该层提供支持技术层的所有必要系统,包括:
1)支持基于Java的编程语言;
2)支持如HTTP,HTTPS,ATP等的网络协议,及
3)支持如HTML,XML,WML等的标记语言。
下面对DNA模块的各层进行说明。
数据层(Data Layer):该层用于存储来自Agent大脑和IATology-2000的原始数据,同时也是知识的来源。
神经网络层(Neural Network Layer):这层用于控制存储在数据层(DataLayer)的数据,以便可以产生知识,并且思维处理可以被初始化,以及Agent能够根据其经验进行学习或自我纠正。该层同样解释了为什么Agent能够像人一样思考。
应用层(Application Layer):获得来自数据层(Data Layer)和神经网络层(Neural Network Layer)的充分支持,以便Agent具有足够的知识和思维能力进行自主生活和工作。
下面对智能代理技术(Intelligent Agent Technology,简称IAT)作进一步的说明:
目前,网络中现有的大多数电子商务系统都是采用客户端/服务器端的方式。其主要的缺点在于:1)高的通信流量负荷;2)加强(和低级)用户之间的相互作用,以便我们需要一些目标才可以完成这些功能:扮演代表我们的角色、在网络中独立运行、存在自主性、以及用自有的智能去识别,处理和解决问题。
本发明对智能代理是这样定义:Intelligent Agent(IA)作为设备的形式是智能的一个范例,该设备(IA)可以以系统,软件程序,程序目标,或者甚至机器人的形式存在。
本发明中Intelligent Agent具备以下10个基本要求:1)自主性(Autonomous);2)移动性(Mobile);3)反作用性(Reactive);4)主动性(Proactive);5)适应性(Adaptive);6)顽健性(Robust);7)通信性(Communicative)(和合作性Cooperative);8)自我学习性(Learning);9)任务导向性(Task-oriented);10)目标导向性(Goal-driven)。根据这些基本要求,本发明的IATopia Agent是怎么工作的,以下将作详细介绍:
IATopia Agent是以Java为基础的程序。是线程类的一个子类,因此可以在IATopia服务器中异步和同步地执行其生命周期。通过执行Serializable接口将Agent本身打包从一个主机迁移到另一个主机,也通过执行Cloneable接口和其它Agent实例将自己同步复制到工作中。IATopia服务器在IATopia主机之间使用Java RMI作为IATopia Agent的传输层,通过使用RMI远程呼叫可以将Intelligent Agent连载并发送至目标主机。
IATopia对象的IATo SDK框架:
IATo SDK的介绍(IATopia Development Kit):IATo SDK是一个智能代理的开发平台软件,使用Java 2作为开发语言可以实现FIPA Agent的管理规范。当确保系统遵循FIPA标准时,IATo SDK的目的在于提供Agent和API的平台,用于简化Intelligent Agent系统的开发。下表是该平台的基本构造模块。
应用Intelligent Agent或者基于用户应用层的无Agent
Intelligent Agent管理服务器     目录决策者
Intelligent Agent传输和通信系统
Java 2标准版本(JDKl.4)
为了达到该目标,IATo SDK提供以下功能:
1)遵循FIPA Agent平台、Intelligent Agent管理系统、目录决策者和信息传输系统。所有这些的组件自动地以Intelligent Agent平台为开始。
2)注册管理员在平台内担当目录决策者,以担当用于注册和搜索Intelligent Agent的黄页。
3)信息传输设备用于Intelligent Agent之间的互相通信和分派(Dispatch)Agent。
4)生命周期管理员(lifecycle manager)作为Intelligent Agent的管理系统,用于在Intelligent Agent平台范围内控制Intelligent Agent的生命周期(lifecycle)。
5)图形用户界面,用于为用户提供管理,监测和将Intelligent Agent的激活状态记入日志(如图2所示)。
IATo SDK的基本组件:IATo SDK Intelligent Agent平台的开发遵循FIPAAgent管理规范,包括必须在Intelligent Agent平台上排列的所有强制组件(mandatory components),这些组件是Agent管理系统、信息传输服务器以及目录决策者。IATo SDK Intelligent Agent平台使用Java 2标准版本(JDK1.4)开发。启动IATo SDK Intelligent Agent平台的强制组件为生命周期管理者(LifeCycleManager),注册管理者(RegistrationManager)和通信管理者(CommunicationManager),如图3所示出的IATo SDK Agent平台的基本架构。
IATo SDK为移动智能代理系统的开发提供必要的移动Intelligent Agent对象APIs。Intelligent Agent的基本功能和运行时间属性由Intelligent Agent、生命周期管理者(LifeCycleManager)、注册管理者(RegistrationManager)以及通信管理者(CommunicationManager)类来定义。
智能代理池(Intelligent AgentPool):基本上,所有的Intelligent Agent必须在服务器上称为Intelligent AgentPool的虚拟区域内执行。因此,当创建或分派某个Intelligent Agent时,必须将其输入至Intelligent AgentPool内才开始执行。
生命周期管理者(LifeCycleManager):生命周期管理者(LifeCycleManager)在Intelligent Agent平台内担当Intelligent Agent管理系统。在Intelligent Agent平台内提供所有控制功能,包括创建(creat),挂起(suspend),恢复(resum),分派(dispatch)和解除(dispose)Intelligent Agent。
Intelligent Agent:Intelligent Agent是移动Intelligent Agent概念的一个主要特征。因为它是移动软件,为了执行一项具体的任务,能够将其软件代码和状态从一个主机传输到另外一个主机。这样可以确信在需求系统上进行代码开发。Agent通过自己的设备在通信中广播或发送信息到其它Intelligent Agent。当Intelligent Agent想要从另一Intelligent Agent询问某一服务器的具体信息时,首先会询问注册管理者(RegistrationManager)有关Intelligent Agent的信息,然后询问智能代理池管理者(Intelligent AgentPoolManager)以获得其想要的Intelligent Agent的相关信息,以便利用消息发送设备进行进一步通信(如图4所示)。
注册管理者(RegistrationManager):注册管理者(RegistrationManager)保留了一栏已注册Intelligent Agent的信息,包括Intelligent Agent名字、类加载以及关于Intelligent Agent提供的服务器信息。它也保护了IATopia服务器以防止匿名攻击。这是因为在Intelligent Agent平台内获允许执行任务之前Intelligent Agent必须要先注册。
通信管理者(CommunicationManager):通信管理者(CommunicationManager)保留消息频道。在Intelligent Agent平台内控制消息的传送。它也为Intelligent Agent从本地分发到远程站点提供了网络通信频道。
IATo SDK的内部操作(数据流和输入/输出):通过使用这些基本组件,IATopia服务器可以提供帮助移动Intelligent Agent执行其任务的许多操作。
注册Intelligent Agent(Register Intelligent Agent):如图5所示,IntelligentAgent在他们能够进入IATopia服务器之前必须先注册。因此,要求用户通过使用IATopia服务器用户界面(即IATopiaServerGUI)提供的图形用户界面输入Intelligent Agent的信息(如Intelligent Agent的名字、基本代码和任务描述)。在从用户输入接收Intelligent Agent信息之后,IATopiaServerGUI将产生一个请求并发送给注册管理者(RegistrationManager)。注册管理者(RegistrationManager)然后初始化目标注册信息(RegistrationInfo),并保存在注册表(Registration)中。最后,在用户注册成功后更新IATopiaServerGUI并通知用户。
创建Intelligent Agent(Create Intelligent Agent):如图6所示。在注册Intelligent Agent之后,用户可以通过使用IATopiaServerGUI创建IntelligentAgent,通过在列表上选择相应的Intelligent Agent名字。IATopiaServerGUI会询问注册管理者(RegistrationManager)以获得Intelligent Agent类文件的基本代码。
然后,IATopiaServerGUI将发送一个请求给生命周期管理者(LifeCycleManager)以创建一个Intelligent Agent。在Intelligent Agent文件被加载进Java VM之后,生命周期管理者(LifeCycleManager)将Intelligent Agent的相关信息发送到智能代理池管理者(Intelligent AgentPoolManager),该智能代理池管理者(Intelligent AgentPoolManager)将该Intelligent Agent的相关信息增加到激活智能代理池(ActiveIntelligent AgentPool)。最后,在创建成功后,更新IATopiaServerGUI并通知用户。
分发Intelligent Agent(Dispatch Intelligent Agent):如图7、8所示。当在IATopia服务器内创建Intelligent Agent时,用户能够使用IATopiaServerGUI选择和分发(Dispatch)Intelligent Agent。当IATopiaServerGUI接收到用户的请求后,将该请求转发给生命周期管理者(LifeCycleManager),生命周期管理者(LifeCycleManager)将询问注册管理者(RegistrationManager)关于IntelligentAgent的基本代码(Intelligent AgentCodeBase),并向智能代理池管理者(Intelligent AgentPoolManager)关于Intelligent Agent的相关信息(IntelligentAgentReference)。
然后,将分发请求发送到通信管理者(CommunicationManager)以分发Intelligent Agent目标和类文件(若有必要)。在远程机器中存在服务器监听程序。当监听程序接收到该分发请求,会将该请求转发给生命周期管理者(LifeCycleManager)。该生命周期管理者(LifeCycleManager)将和注册管理者(RegistrationManager)一起检查该Intelligent Agent是否已经在远程服务器注册过的。
最后,将接收到的Intelligent Agent目标并要求智能代理池管理者(Intelligent AgentPoolManager)将该智能代理的相关信息(IntelligentAgentReference)增加到激活智能代理池(ActiveIntelligent AgentPool),更新IATopiaServerGUI,并将Intelligent Agent到达该服务器的消息通知用户。
IATo SDK编程:IATo SDK采取Java 1.4开发。使用Java作为对象语言的原因在于Java是目标导向语言。通过使用目标导向方法,程序类或接口能够重新使用或进一步扩展其功能,以便保存输出基本功能的效果。Java是比较流行的,Java程序的开发比其它语言较便宜和快速。Java编辑代码的轻便性可以很容易地在不同的系统之间迁移。而且,内置网络支持编程移动IntelligentAgent也是一个优势。
应用程序界面(即用户界面),如图9所示。在图中可以看出在用户界面上有4个区域。最上面部分(即第一区域)包括一组按钮,即创建(Creat),激活(Activate),无效(Deactivate),复制(Clone),分发(Dispatch),解除(Dispose)和退出(Exit)。这些按钮为用户控制Intelligent Agent的生命周期提供了用户友好的界面。用户界面的最底下部分(即第二区域)是系统写入日志,显示在服务器内发生激活的信息。
界面的中间部分分为两块,左边那块(即第三区域)显示不同树状类型的Intelligent Agent的列表,而右边那块(即第四区域)显示消息广播类型。
移动Intelligent Agent在激活之前必须先进行注册。这个特性也是为了移动Intelligent Agent系统的安全保护,因为它可以防止任何匿名Intelligent Agent进入本系统想做一些破坏行为。Intelligent Agent注册必须通过用户点击创建(Creat)按钮完成。然后,创建Intelligent Agent对话框会弹出来询问关于移动Intelligent Agent的请求信息(如图10)。
用户必须输入Intelligent Agent的有效类名和包括文件系统内的类文件的源路径。任务描述是一个可选择的输入,用于在注册管理者(RegistrationManager)中进行注册服务。然后,其它Intelligent Agent通过搜索注册服务器(RegistrationManager)就可以搜索出该Intelligent Agent。在具有任务描述和源路径的Intelligent Agent注册后,用户可以在任何时候激活该Intelligent Agent,以便于使它可以开始工作。
用户可以在任何时候通过点击分发(Dispatch)按钮,分发移动IntelligentAgent目标到其它远程主机。这时,该分发Intelligent Agent对话框就会弹出来询问移动Intelligent Agent应该将该信息分发到哪里(如图11所示),并要求用户输入目的主机名字/IP和远程监听服务器的端口号码。
智能代理类(Intelligent Agent Class):Intelligent Agent是移动IntelligentAgent概念的主要特征。因为它是移动软件的目标,为了执行一项具体的任务,可以将其软件代码和状态从一个主机传输到另外一个主机。这样在需求系统上确保代码的开发。Intelligent Agent具有其自己的设备,在通信中,通过其设备将消息发送到其它Intelligent Agent。
Intelligent Agent类,为基本类,程序员可以扩展创建他们自己定制的移动Intelligent Agent。API提供所有的功能,该功能包括Intelligent Agent能够控制自己的生命周期,包括分发(Dispatch)、无效(Deactivate)和解除(Dispose)自己的方法。
分发方法使得Intelligent Agent中止执行,并将其状态保存进文件,并将该状态发送至远程主机。然后,在远程主机中恢复具有最多更新状态的执行代码。无效方法使得Intelligent Agent停止执行。解除方法将停止Intelligent Agent线程的执行,并从内存中清除该状态。
Intelligent Agent类也具有一组获得Intelligent Agent目标的属性获当前状态的方法。getIntelligent AgentName方法可以获得在平台内的Intelligent Agent的名字。getAgentID方法可以获得分配给Intelligent Agent的ID。getStatus方法可以知道Intelligent Agent处于激活状态或非激活状态。
现在让我们看看怎么利用Intelligent Agent类对Intelligent Agent进行编程。为了包括所有支持我们写入我们的Intelligent Agent的所有库,我们应该引入IATopiaserver.*,并通过扩展Intelligent Agent类能够定义我们自己的IntelligentAgent。
import IATopiaserver.Agent;
public class Hello Agent extends Agent{
   //implementation of the agent’s method.
}
当在Intelligent Agent平台内创建Intelligent Agent时,该平台必须调用run方法默认Intelligent Agent线程开始执行。因此,我们可以通过重写(Overriding,是指子类有一个方法与父类中的某个虚方法的名字和签名都相同)run方法表示Intelligent Agent必须采取什么默认动作。
public void run(){
   //default action of the action when created.
}
Intelligent Agent仅仅使用主机名字/IP和远程监听服务器的端口号码就可以将自己分发到远程主机上。
public void dispatch(String host_name,int port_num);
当Intelligent Agent到达远程服务器时,远程主机的IATopia服务器将调用arrived方法默认恢复Intelligent Agent线程的执行。因此,我们可以通过重写(Overriding)arrived方法告诉Intelligent Agent在远程主机上需要做什么。
    public void arrived(){
    //what action need to take when resuming the execution on the remote host.
}
当某一Intelligent Agent想要跟另一Intelligent Agent通话时,必须通过其Intelligent Agent的名字使用getOtherAgent方法从生命周期管理者(LifeCycleManager)处获得另一Intelligent Agent的相关信息。
public Agent getOther Agent(String agent_name);
在获取其它Intelligent Agent的相关信息之后,Intelligent Agent之间可以互相通信。通过使用sendMessage方法,我们可以将以任何目标类型和包含任何信息的某一目标发送到其它Intelligent Agent。
public void sendMessage(Object msg)
另一方面,当Intelligent Agent接收到来自另一Intelligent Agent的消息时,我们可以重写(Overriding)handMessage方法来传递,并对该消息给出相应的响应。
    public void handleMessage(Object msg){
    //what action need to take for the incoming message.
}
有时候,为了做某些动作,我们需要获取生命周期管理者(LifeCycleManager)的相关信息,例如,创建其它Intelligent Agent。我们可以使用LifeCycleManager方法来获取生命周期管理者(LifeCycleManager)的相关信息。
public LifeCycleManager getLifeCycleManager()
生命周期管理者(LifeCycleManager)
生命周期管理者(LifeCycleManager)在Intelligent Agent平台内担当Intelligent Agent管理系统。在Intelligent Agent平台内提供所有控制功能,包括创建(Creat),挂起(Suspend),恢复(Resum),分发(Dispatch)和解除(Dispose)Intelligent Agent。
在获取生命周期管理者(LifeCycleManager)的相关信息后,我们可以在Intelligent Agent平台内通过一些操作去控制其它生命周期。
我们可以创建新的实例或重新激活Intelligent Agent目标,该IntelligentAgent目标通过使用Intelligent Agent类名字,该名字已在Intelligent Agent平台注册过的。
public Agent activate Agent(String agentName,String activate)
通过使用deactivate Agent方法,Intelligent Agent将会马上停止激活,并将其状态改变为非激活状态。
public void deactivate Agent(String agentName)
disposeAgent方法将马上停止Intelligent Agent激活,并从内存中删除该目标。
public void disposeAgent(String agentName)
当我们需要通过Intelligent Agent程序与Intelligent Agent进行通话时,我们可以使用LifeCycleManager的getOtherAgent来获得Intelligent Agent的相关信息。以便我们可以将信息发送到Intelligent Agent,然后通知Intelligent Agent需要做什么。
public Agent getOtherAgent(String name)
有时候,我们需要在Intelligent Agent平台内向所有Intelligent Agent广播一些信息。因此,我们可以调用getAllAgent方法来获得列举的Intelligent Agent相关信息,以将消息发送到每个Intelligent Agent。
public Enumeration getAllAgent()
Runtime Agent:有时候通过使用IATopia服务器的用户界面,我们可以写一些不必要的应用程序以作为开始。因此,通过使用服务器的名字、监听端口数字,我们可以使用静态类方法从RuntimeAgent类中创建一个新的IntelligentAgent目标实例,然后将Intelligent Agent类名字作为参数。public static Agent createAgent(String server,int port,String agentname)
以下是一些实例:
(1)HelloWorldAgent,该实例示出了创建Intelligent Agent的最简单的方法,在抽象窗口工具箱(awt)框架上仅仅显示“the Hello World”的消息。
import IATopiaserver.Agent;
import java.awt.*;
public class Hello WorldAgent extends Agent{
   transient Frame my_dialog;    //transient means that this class will not be
   transfer during the disptach
     public void run(){
      message=″Hello World!I am″+getAgentName();
      my_dialog=new MyDialog(this);
        my_dialog.pack();
        my_dialog.resize(my_dialog.preferredSize());
        my_dialog.show();
    }
}
class MyDialog extends Frame{
    private Hello Agent agent=null;
    private Label msg=null;
    MyDialog(Hello Agent agent){
       this.agent=agent;
       layoutComponents();
}
private void layoutComponents(){
     msg=new Label(agent.message);
     Panel p=new Panel();
     add(p);
     p.setLayout(new FlowLayout());
     add(msg);
}
   public boolean handleEvent(Event ev){
        if(ev.id==Event.WINDOW_DESTROY){
            hide();
            return true;
        }
        return super.handleEvent(ev);
    }
}
(2)Hello WorldAgent2,该示例与上述Hello WorldAgent示例的结构一样,但是当“the Hello World”信息到达远程主机时,Intelligent Agent将在抽象窗口工具箱(awt)框架上显示“the Hello World”信息。
public class Hello Agent2 extends Agent{
     transient Frame my_dialog;
     String message=null;
     public void run(){
          dispatch(″IATopial″,4444);
     }
     public void arrived(){
       message=″Hello World!I am″+getAgentName();
       my_dialog=new MyDialog(this);
        my_dialog.pack();
        my_dialog.resize(my_dialog.preferredSize());
        my_dialog.show();
    }
}
(3)在这个实例中,在2 IATopia服务器中创建被称为TalkAgent的Intelligent Agent被。该用户需要点击连接按钮,使得在不同主机上的两个对话Intelligent Agent之间建立连接。然后,用户通过使用对话用户界面可以进行互相谈话。该实例示出了通过使用getLifeCycleManager方法怎么创建另一Intelligent Agent(msgAgent)的新实例。同时,该实例也表明了该IntelligentAgent在通信中如何发送和处理消息。
import IATopiaserver.Agent;
public class TalkAgent extends Agent{
     transient Framel frame;
     String message=null;
     public void run(){
       frame=new Framel(this);
       //codes to show the Framel interface
    }
    public void setDialog(Framel dlg){
          this.frame=dlg;
     }
     public void handleMessage(Object msg){
       if
(msg.toString().substring(0,msg.toString().indexOf(′@′)).equals(″Connect″)){
       frame.appendText(″Connected from″+
        msg.toString().substring(msg.toString().indexOf(′@′)+1,
    msg.toString().length()));
      }
      else{
       frame.appendText(msg.to String().substring(msg.toString().indexOf(′@′)+
       l,msg.toString().length()));
      }
    }
}
public class Framel extends JFrame{
  TalkAgent agent=null;
  msgAgent msgagent=null;
  String host=″″;
  int port=0;
  String chat=″″;
  //Construct the frame
  void btn_Connect_actionPerformed(ActionEvent e){
    try{
       InetAddress addr=InetAddress.getLocalHost();
       host=destHost.getText();
       port=Integer.parseInt(destPort.getText());
      msgagent                                                          =
     (msgAgent)agent.getLifeCycleManager().activateAgent(″msgAgent″,
            ″ACTIVATE″);
       msgagent.setMsg(″Connect@″+addr.getHostName());
       msgagent.getLifeCycleManager().dispatchAgent(msgagent,host,port);
     }
     catch(UnknownHostException ex){
     }
  }
  void jbtn_Send_actionPerformed(ActionEvent e){
    msgagent                           =                      (msgAgent)
agent.getLifeCycleManager().activateAgent(″msgAgent″,
            ″ACTIVATE″);
    msgagent.setMsg(″msg@″+msg.getText());
    msgagent.getLifeCycleManager().dispatch Agent(msgagent,host,port);
    msg.setText(″″);
    msg.updateUI();
  }
  public void appendText(String_msg){
    chat+=_msg+″\n″;
    text.setText(chat);
  }
}
import IATopiaserver.Agent;
public class msgAgent extends Agent{
  String msg=″″;
  public void arrived(){
    Agent agent=getOther Agent(″Talk Agent″);
    agent.sendMessage(msg);
  }
  public void run(){
  }
  public void setMsg(String_msg){
    msg=_msg;
  }
}
本发明实现过程中,基于智能代理的开发平台,不限于以上实施方式中所列举的基于电子商务的应用,也可以扩展其它应用程序,只要利用本发明的基于智能代理的开发平台实现各种的应用程序即可。

Claims (8)

1、一种基于智能代理技术的开发平台,该平台提供基于智能代理的开发环境,其特征在于,该开发平台包括:
第一模块,提供全面的人工智能和基于智能本体代理的应用程序界面,用于构建各种智能代理应用程序;和
第二模块,用于存储数据,并对数据进行智能分析处理以及将处理结果提供给所述第一模块。
2、根据权利要求1所述的开发平台,其特征在于,所述第一模块具体包括:
应用层,包括基于智能本体代理的各种应用程序,所述应用程序由智能层的智能代理组件和所述第二模块的数据集成的;
本体层,以智能代理的大脑知识为基础的,提供必要的知识以供本体代理开始其合理地和有知识地思考处理;
智能层,提供基于感觉领域、逻辑推理领域以及分析领域的智能基础,并使用由技术层所提供的智能代理组件;
技术层,为智能层的智能代理组件的开发提供必要的移动代理对象应用程序界面,包括提供全面的多智能代理为基础的开发平台的IATo SDK软件开发工具和提供可理解的标记语言来提高智能代理通信和数据交换的IATo ML开发工具;及
支持层,提供支持该层的所有必要系统,包括支持基于JAVA的编程语言、基于HTTP、ATP的网络协议以及基于HTML、XML、WML的标记语言。
3、根据权利要求1或2所述的开发平台,其特征在于,所述第二模块具体包括:
数据层,用于存储来自智能代理大脑的原始数据,同时也是本体知识的来源;
神经网络层,用于控制存储在所述数据层的数据,以便可以产生本体知识,并且思维处理可以被初始化,以及智能代理能够根据其经验进行学习或自我纠正;及
应用层,用于获得来自所述数据层和所述神经网络层的充分支持,以便智能代理具有足够的本体知识和思维能力进行自主生活和工作。
4、根据权利要求2所述的开发平台,其特征在于,所述应用层中所包括的应用程序具体包括:
用于电子购物的智能本体网页数据挖掘的代理系统IATo eMiner;
用于新一代以智能本体知识为基础的信息及资信搜寻系统IAToInfoSeeker;
用于新一代以智能本体天气预测的代理系统IATo WeatherMAN;
用于在网络上进行智能移动购物的一系列的智能代理系统IATo shopperseries;
基于智能本体代理的股票预测的代理系统IATo Stock Advisor;
基于新一代以智能本体知识为本的信息及资信搜寻系统IATo InfoSeeker;及
基于自动智能本体代理的智能监视系统IATo Surveillant。
5、根据权利要求1所述的开发平台,其特征在于,所述智能代理具体包括以下基本要求:自主性、移动性、反作用性、主动性、适应性、顽健性、通信性、自我学习性、任务导向性以及目标导向性。
6、根据权利要求2所述的开发平台,其特征在于,所述IATo SDK软件开发工具包括在智能代理开发平台上排列的所有强制组件,所述强制组件包括代理管理系统、信息传输服务器以及目录决策者。
7、根据权利要求1所述的开发平台,其特征在于,所述智能代理的基本功能和运行时间属性由智能代理、智能代理开发平台内提供所有控制功能的生命周期管理者、记录代理注册信息的注册管理者以及在智能代理平台内控制消息传送的通信管理者的类来定义。
8、根据权利要求1所述的开发平台,其特征在于,所述应用程序界面包括:提供创建、激活、无效、复制、分发、解除以及退出的控制功能的第一区域、提供系统写入日志和显示服务器内发生激活的信息的第二区域、提供显示树状类型的代理列表的第三区域以及显示消息广播类型的第四区域。
CNA2006100615425A 2006-07-05 2006-07-05 基于智能代理的开发平台 Pending CN101102207A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CNA2006100615425A CN101102207A (zh) 2006-07-05 2006-07-05 基于智能代理的开发平台
PCT/CN2007/000496 WO2008006267A1 (en) 2006-07-05 2007-02-13 Intelligent agent based development platform
US11/693,313 US20080010229A1 (en) 2006-07-05 2007-03-29 Intelligent agent based development platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2006100615425A CN101102207A (zh) 2006-07-05 2006-07-05 基于智能代理的开发平台

Publications (1)

Publication Number Publication Date
CN101102207A true CN101102207A (zh) 2008-01-09

Family

ID=38920200

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006100615425A Pending CN101102207A (zh) 2006-07-05 2006-07-05 基于智能代理的开发平台

Country Status (3)

Country Link
US (1) US20080010229A1 (zh)
CN (1) CN101102207A (zh)
WO (1) WO2008006267A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008504A (zh) * 2014-06-12 2014-08-27 天津大学 基于Multi-Agent的股票市场分布式仿真方法
CN105653260A (zh) * 2015-12-22 2016-06-08 中软信息系统工程有限公司 一种支持多cpu架构的应用软件开发及运行服务系统
CN106292539A (zh) * 2015-05-29 2017-01-04 西门子公司 数控编程装置、数控加工系统及方法
CN106817373A (zh) * 2017-01-23 2017-06-09 重庆邮电大学 一种面向私有云平台的取证方法
CN106886408A (zh) * 2017-01-22 2017-06-23 广州真诺电子科技有限公司 应用于机器人软件工程师的智能决策系统
CN109284095A (zh) * 2018-08-07 2019-01-29 北京云迹科技有限公司 基于开放型机器人系统的用户自开发应用的方法
CN110321187A (zh) * 2018-03-30 2019-10-11 合肥杰发科技有限公司 基于代理模式的多媒体显示方法、装置及设备
CN110659091A (zh) * 2018-06-29 2020-01-07 国际商业机器公司 会话代理对话流用户界面

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110022426A1 (en) 2009-07-22 2011-01-27 Eijdenberg Adam Graphical user interface based airline travel planning
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US8775341B1 (en) 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US9053422B1 (en) 2012-12-21 2015-06-09 Lockheed Martin Corporation Computer system and method for planning a strategy from data and model ontologies to meet a challenge
CN103268265B (zh) * 2013-04-20 2016-07-06 中国传媒大学 文化演出信息分层接入并行处理的互操作平台及方法
US10917788B2 (en) 2014-11-19 2021-02-09 Imprivata, Inc. Inference-based detection of proximity changes
US10565312B2 (en) 2017-10-04 2020-02-18 Motorola Mobility Llc Context-based action recommendations based on a shopping transaction correlated with a monetary deposit as incoming communications
US10708363B2 (en) * 2018-08-10 2020-07-07 Futurewei Technologies, Inc. Artificial intelligence based hierarchical service awareness engine
CN111767033B (zh) * 2020-05-21 2023-08-25 江苏中科重德智能科技有限公司 用于机械臂程序开发的编程系统及功能扩展方法
CN114548674B (zh) * 2022-01-17 2022-12-30 清华大学 面向多智能体对抗场景的威胁态势评估方法、装置及设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144954A (en) * 1998-01-27 2000-11-07 Li; Chou H. Automatic development of computer software
US6381597B1 (en) * 1999-10-07 2002-04-30 U-Know Software Corporation Electronic shopping agent which is capable of operating with vendor sites which have disparate formats
US20020066074A1 (en) * 2000-06-05 2002-05-30 Jabri Mohamed I. Method and system for developing and executing software applications at an abstract design level
WO2002097588A2 (en) * 2001-05-31 2002-12-05 Camelot Is-2 International, Inc. D.B.A. Skyva International Distributed artificial intelligent agent network system and methods
US20030046661A1 (en) * 2001-07-03 2003-03-06 Mark Farber Cross vertical application software development system and method
US7275048B2 (en) * 2001-10-30 2007-09-25 International Business Machines Corporation Product support of computer-related products using intelligent agents
US6895409B2 (en) * 2002-06-17 2005-05-17 Adaptik Corporation Method and apparatus for creating an adaptive application
US20050144218A1 (en) * 2003-11-25 2005-06-30 Heintz Timothy J. Extendible software platform for the construction and deployment of intelligent agents

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008504A (zh) * 2014-06-12 2014-08-27 天津大学 基于Multi-Agent的股票市场分布式仿真方法
CN106292539A (zh) * 2015-05-29 2017-01-04 西门子公司 数控编程装置、数控加工系统及方法
CN105653260A (zh) * 2015-12-22 2016-06-08 中软信息系统工程有限公司 一种支持多cpu架构的应用软件开发及运行服务系统
CN106886408A (zh) * 2017-01-22 2017-06-23 广州真诺电子科技有限公司 应用于机器人软件工程师的智能决策系统
CN106817373A (zh) * 2017-01-23 2017-06-09 重庆邮电大学 一种面向私有云平台的取证方法
CN110321187A (zh) * 2018-03-30 2019-10-11 合肥杰发科技有限公司 基于代理模式的多媒体显示方法、装置及设备
CN110321187B (zh) * 2018-03-30 2022-08-30 合肥杰发科技有限公司 基于代理模式的多媒体显示方法、装置及设备
CN110659091A (zh) * 2018-06-29 2020-01-07 国际商业机器公司 会话代理对话流用户界面
CN109284095A (zh) * 2018-08-07 2019-01-29 北京云迹科技有限公司 基于开放型机器人系统的用户自开发应用的方法
CN109284095B (zh) * 2018-08-07 2022-04-29 北京云迹科技股份有限公司 基于开放型机器人系统的用户自开发应用的方法

Also Published As

Publication number Publication date
WO2008006267A1 (en) 2008-01-17
US20080010229A1 (en) 2008-01-10

Similar Documents

Publication Publication Date Title
CN101102207A (zh) 基于智能代理的开发平台
US9116706B2 (en) Yunten's web application methodology and web programming language (YWAM and WPL)
US8073857B2 (en) Semantics-based data transformation over a wire in mashups
CN100444108C (zh) 使用ui储存库的公共ui组件执行无线应用程序的系统和方法
Löwe et al. Context Directory: A context-aware service for mobile context-aware computing applications by the example of Google Android
CN107103449A (zh) 数据库实体的静态数据和动态数据的集成及其统一表示
Mitrović et al. Radigost: Interoperable web-based multi-agent platform
JP2005259131A (ja) ワイヤレス・アプリケーションのスクリーン・エレメント又はデータ・オブジェトを生成する方法及びシステム
JP2007293860A (ja) 既存のインテーグレイテッド・インターフェイス・バックグラウンド上への新しいユーザインターフェイスのマッピング
US6638315B2 (en) Method for preserving the state of a java applet during the lifetime of its container
US20040260806A1 (en) System supporting communication between a web enabled application and another application
US20100042969A1 (en) Computer method and apparatus for automating translation to a modeling language
CN106941486A (zh) 一种通用型物联网监测控制系统及控制方法
Chakraborty et al. Let Us Create an Alexa Skill for Our IoT Device Inside the AWS Cloud
Tolk et al. Agents: Agenthood, agent architectures, and agent taxonomies
Sakamura The TRON project
Tamboli et al. Commercial utilization of chat-bot using python
Muldoon An agent framework for ubiquitous services
CN110516489A (zh) 基于IPv6的RFID网络访问标签的方法
Soriano et al. Delivering mobile enterprise services on Morfeo's MC open source platform
Kanimozhi et al. A personal assistant in Chatbots with different technologies
Xu et al. Intelligent Mobile Agent Design in a Framework for Agent-Oriented Software
Löwe et al. Supporting generic context-aware applications for mobile devices
Rodriguez et al. Discovery and registration of components in multimodal systems distributed on the IoT
Xu et al. A Design Model for Intelligent Mobile Agent Software Systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20080109