网构软件自主构件模型的设计与实现

时间:2024-04-04 点赞:51926 浏览:106496 作者原创标记本站原创

本文是一篇构件论文范文,构件类有关毕业论文格式范文,关于网构软件自主构件模型的设计与实现相关电大毕业论文范文。适合构件及软件学报及计算机工程方面的的大学硕士和本科毕业论文以及构件相关开题报告范文和职称论文写作参考文献资料下载。

[摘 要]在传统构件模型的基础上借鉴软件自主性研究领域中对于实体的自主性的规约和支持手段,提出自主构件的概念用来刻画网构软件的实体元素,建立了自主构件模型,探讨了改进现有构件框架,从而为自主构件提供支撑的可行方案.

[关 键 词]自主构件环境感知器规则引擎

1.引言

现有的构件模型在刻画组成网构软件的实体元素时,存在以下不足:

第一,网构软件的实体元素是独立开发和交付并且分布在整个网络上,它们的运行是由所在的网络节点提供本地支持和控制.同一系统中的不同构件可能分属于不同的所有者,因此现有模型缺乏对构件独立性的刻画.

第二,这些模型对于系统有这样的假设,系统在运行阶段和组装阶段的结构是一致的,构件与构件、构件与环境之间的依赖关系从系统组装部署阶段一直到运行过程中始终是稳定的,因此现有模型缺乏对构件的主动性的支持.

针对上述存在的问题,借鉴软件自主性研究领域中对于实体的自主性的刻画和支持手段,有必要构建一种新的用于刻画Inter上自主构件的统一的计算模型.

2.自主构件模型研究与设计

构件模型是构件的本质特征以及构件之间关系的抽象描述.自主构件模型则要关注自主构件的本质特征及自主构件之间的关系.

2.1自主构件的模型

定义自主构件的规约包括如下内容:

自主构件应该声明它向外部提供什么服务,对“做什么”进行语义描述.

自主构件发布它所提供的服务时,应该说明使用其服务的方法,也即关于客户该如何请求自主构件的服务的约定.该约定是构件与客户传递各种交互消息的依据,是对服务功能的语法描述.

2.2自主构件模型的语义表达

在定义自主构件模型的时候,希望根据模型能够推导出构件的行为和属性.可以从以下几个方面来讨论自主构件模型的语义表达:

自主构件何时开始去实现目标?

自主构件何时承诺提供服务?

自主构件的目标是否能够实现?自主构件如何实现它的目标?

构件是否能够成功的提供服务?构件如何提供服务?

2.3自主构件模型的设计

自主构件的内部结构主要包括知识层、行为层、环境感知层.

知识层主要用来对自主构件的目标、服务及所处的环境进行建模,行为层则主要关注如何实现自主构件的目标及向外提供服务,而环境感知层则用来感知环境中传递的各种服务请求信息.

环境感知层用于获取环境信息感知环境变化.这一层的实现体主要是环境感应器.自主构件之间的通信消息是携带环境信息的一种重要载体,因此环境感应器通过解析服务请求,来获取环境信息,并把捕获到的信息传递给行为层,一方面用来修改知识库,另一方面,作为推理器和规划器的输入使自主构件产生行为动作.

3.自主构件基本功能模块的实现

自主构件主要功能模块主要包括环境感知器、规则引擎、规划图等.

3.1环境感知器的实现

环境感知器负责感知环境的状态、获取和解析环境中的服务请求,然后将所捕获到的信息传递给行为层,一方面用来修改知识库,另一方面,被规则引擎RuleEngine用来触发相关的规则.

下面是类Sensor的主要成员变量和方法说明的实现:

publicInterfaceSensor{

/*接收消息的*/

protectedact.ac.util.SynchronizedQueueinbox,

/*负责发送消息的*/

protectedact.ac.util.SynchronizedQueueoutbox,

/*用于保存与本Sensor所属的自主构件发生通信的其他自主构件的地址信息*/

protectedAddressBookaddressbook等于newAddressBook(),

/*消息接收线程,消息接收完毕后,将从消息中解析出的信息添加到知识库中*/

protectedServerserver,

/*消息发送线程,postMan从outbox中逐条取出消息,与消息接收者建立socket

连接把消息发送出去*/

protectedPostManpostMan,

/*把要发送的消息msg投到发送里,当needReply为true时,返回会话标识*/

publicStringsend(Performativemsg,booleanneedReply),}

3.2规则引擎的实现

规则引擎是一个复杂的规则解释器,目前已有很多开源的非商业用途的规则引擎,其中Jess[Jess]是适用于Ja平台的一个轻量级规则引擎,使用Rete算法处理规则匹配,而且支持后向推导,工作记忆查询,以及对Ja对象的直接操作和推理等功能.

类RuleEngine的主要成员变量和方法的实现如下所示:

publicInterfaceRuleEngineextendsThread{

/*Jess规则引擎对象*/

protectedRetejessEngine,

/*用于保存规则中的动作函数*/

protectedHashtableactionsTable,

/*用于保存从通信层传入的ACL消息,

RuleEngine将按序根据规则处理msgQueue中的消息*/

protectedSynchronizedQueuemsgQueue,

/*在构造函数中初始化Jess规则引擎的事实库,导入规则文件fileName.clp,

并启动Jess规则引擎*/

publicRuleEngine(ACContextcontext,StringfileName),

/*向msgQueue添加ACL消息*/

publicvoidnewMsg(Performativemsg),

/*action封装了用户自定义的动作函数,addAction把action加到actionsTable中*/

publicvoidaddAction(ACActionaction),

/*把自主构件提供服务的能力转换成事实写入事实库中*/

publicvoidaddACServices(HashtableserviceTable),}

3.3规划引擎的实现

规划是自主构件行为的一个动作序列,规划执行引擎负责执行这样的动作序列.

PlanEngine的主要成员变量和方法的实现如下所示:

publicInterfacePlanEngineextendsThread{

/*规划执行引擎中的任务队列*/

protectedSynchronizedQueuequeue,

/*向任务队列queue中添加任务,即动作结点*/

publicsynchronizedvoidadd(Nodenode),

/*依次执行任务队列queue中的任务*/

publicvoidrun(),

/*执行实现服务Service的规划,input是第一个动作的输入参数*/

publicvoidplan(Stringservice,Objectinput),}

3.4规划图的实现

自主构件提供的每一个服务对应着一个任务规划,服务的实现通过规划的执行来完成.由于采取离线方式来制定规划,因此需要用一个类来记录规划,这便是规划图类.

类PlanGraph的主要成员变量和方法的实现如下所示:

publicInterfacePlanGraph{

/*用于记录该图的拓扑结构.二维数组的组成为:

{{节点名,点的第一条边名,第一条边终点名,第二条边名,第二条边终点名......}

{第二个节点名.....}......}*/

protectedString[][]structure,


/*图的起始节点名*/

protectedStringstartNodeName,

/*执行这个规划,把规划图中的起始结点放入规划引擎的执行队列,

input是起始结点的输入参数*/

publicvoidrunGrpah(Objectinput,GraphEngineengine),}

3.5自主构件的实现

自主构件是环境感知器、规则引擎、规划引擎、知识信息等的合成.

类AutonomousComponent的主要成员变量的实现如下所示:

publicInterfaceAutonomousComponent{

/*环境感知器*/

protectedSensorsensor,

/*规则引擎*/

protectedRuleEngineruleEngine,

/*规划引擎*/

protectedPlanEngineplanEngine,

/*其他自主构件的信息*/

protectedVectoracquaintances,

/*服务及服务所对应的规划图*/

protectedHashtableserviceTable,

/*规则文件*/

protectedStringruleFile,}

由此,证明了自主构件模型的可行性.

相关论文

基于构件的网构软件组装技术

本文是一篇软件开发论文范文,软件开发有关毕业论文格式模板,关于基于构件的网构软件组装技术相关专科毕业论文范文。适合软件开发及构件及可。

基于网构软件的SaaS架构

本文是一篇互联网论文范文,互联网类有关硕士学位论文,关于基于网构软件的SaaS架构相关在职毕业论文范文。适合互联网及计算机学报及环境管理。

城市公交线网优化模型系统设计

本文是一篇地理信息系统论文范文,关于地理信息系统相关毕业论文参考文献格式,关于城市公交线网优化模型系统设计相关毕业论文提纲范文。适合。

沿黄异构视频监控系统互通平台设计

为您写视频毕业论文和职称论文提供视频类硕士学位毕业论文范文,与沿黄异构视频监控系统互通平台设计相关论文例文,包括关于视频及节点及系统。

初中地理课堂自主学习材料的设计

这是一篇自主学习类有关在职毕业论文范文,与初中地理课堂自主学习材料的设计相关本科论文开题报告。是论文总结专业与自主学习及初中地理及。

一种可信授权模型的设计

本文是一篇用户论文范文,关于用户相关毕业论文格式,关于一种可信授权模型的设计相关硕士毕业论文范文。适合用户及操作及可信度方面的的大学。