用户建模中的可重用性问题研究
软件可重用性的设计与实现

软件可重用性的设计与实现软件可重用性是软件开发过程中非常重要的一环。
它是指设计和开发的软件能够在未来的软件开发过程中,可以被快速引用、修改和再次利用的程度。
软件可重用性的设计和实现可以大大提高软件开发过程的效率、降低开发成本、提高软件质量和可靠性。
本文将介绍软件可重用性的概念及其设计和实现方法。
一、软件可重用性的定义软件可重用性是指在软件开发过程中,通过采用模块化设计、封装、继承、多态等技术手段,将软件开发过程中的公共部分和可复用部分尽可能地抽象出来,形成独立的、可重用的组件,使其能够在其他软件开发中被重复利用的程度。
软件可重用性是提高软件开发效率、降低开发成本、提高软件质量和可靠性的重要手段。
二、软件可重用性设计的原则1、低耦合性在软件设计中,应尽量减少模块之间的耦合程度,模块之间的依赖关系应尽量松散,以便模块之间可以独立地进行开发、测试、维护和升级。
2、高内聚性在软件设计中,应尽量将功能相近的模块归为同一个组件,减少组件之间的重复性工作,并且同一个组件内的模块应有高度相似的功能,以提高组件的内聚度。
3、抽象化在软件设计中,应尽量将软件中的通用部分和可复用部分抽象出来,形成独立的组件,以便重复利用。
4、封装性在软件设计中,应尽量将组件的内部细节对外隐藏,推出统一的接口,以防止对组件内部结构的改动对外部应用造成影响。
5、继承和多态在软件设计中,应采用继承和多态技术,尽量利用已有的、可复用的组件,避免重复开发类似的功能,提高软件可重用性。
三、软件可重用性实现的方法1、设计模式设计模式是一种经过验证的用于解决某一类问题的模板或范例,可用于软件开发的各个阶段。
在开发过程中应采用较为通用的设计模式,以方便其在其他软件开发中的重复利用。
2、组件库在软件开发过程中,应尽量将已开发的组件存放到组件库中,以便于将来的重复利用,并且应保证组件库的可靠性和可维护性。
3、标准化在软件设计和开发过程中,应尽量遵循标准化的规范和方法,以便于不同软件开发团队之间的协作和重复利用。
系统可重用性设计分析

系统可重用性设计分析在软件开发过程中,系统的可重用性是一个非常重要的概念。
可重用性设计是指将一个或多个组件、模块或者功能设计得可以在其他系统中被复用和共享。
一个具有良好可重用性设计的系统可以提高效率、减少重复工作、降低成本,并且更容易维护和升级。
因此,在进行系统设计的过程中,考虑系统的可重用性是非常重要的。
什么是系统的可重用性?系统的可重用性是指一个系统中的组件、模块或功能可以被其他系统复用的程度。
一个具有高可重用性的系统可以被用于构建其他系统,而不需要重新编写或设计相同的功能。
可重用性设计的目标是使系统的组件和功能可以被灵活地组合和复用,从而提高系统的效率和可维护性。
系统可重用性设计的重要性系统的可重用性设计对于软件开发来说是非常重要的。
以下是几个重要的原因:1.提高开发效率:通过将系统中的组件和模块设计为可重用的,开发人员可以避免从头开始编写相同或类似的代码。
这可以节省大量的时间和资源,提高开发效率。
2.减少重复工作:可重用性设计可以避免开发人员重复编写相同的代码,从而减少了冗余工作。
这可以提高开发人员的工作效率,并减少错误和漏洞的可能性。
3.降低成本:可重用性设计可以降低软件开发的总成本。
通过复用现有的组件和模块,开发团队可以避免重新编写和测试相同的功能。
这可以显著减少开发和维护成本。
4.易于维护和升级:具有高可重用性的系统更容易维护和升级。
当需要对系统进行修改或添加新功能时,可以直接使用可重用的组件和模块,而不需要对整个系统进行大规模的修改。
实现系统可重用性的几个方法要实现系统的可重用性设计,可以采用以下几个方法:1. 模块化设计模块化设计是实现系统可重用性的基础。
通过将系统划分为各种独立的模块,每个模块都有明确的功能和接口,可以独立地被其他系统复用。
这种设计使得系统的不同部分可以在不同的应用程序中独立使用,从而提高了系统的可重用性。
2. 接口设计在系统设计过程中,定义清晰的接口是实现可重用性的关键。
工程设计中的可重用构件技术研究

工程设计中的可重用构件技术研究随着科技的发展,像计算机、智能手机、智能电视等电子产品的更新换代速度越来越快,同时也给我们生活中的其它方面带来了诸多便利。
在大规模复杂工程的设计中,可重用构件技术的应用也成为了现代工程设计中的一种趋势。
本文将从几个角度分析工程设计中的可重用构件技术的研究。
一、可重用构件的定义可重用构件是一种在软件开发中广泛使用的技术。
通常将一套已经完成的功能代码归为一个构件,以备使用在其他程序或工程设计中。
通用的、可测试的或模拟的构件,可以在其它系统中多次使用,从而避免了重复编写类似的代码。
可重用构件可以帮助工程师更快地开发更高质量的应用程序,提高生产力和产品质量,降低成本。
二、可重用构件技术的优势1. 提高开发效率:从模块化的角度,可重用构件具有高度通用性,简化了开发过程,避免了重复工作,提高了开发的速度。
2. 提高软件质量:引入可重用构件的机制能极大地影响软件质量。
可重用构件尽量不含错误,可以减少错误实现,可以响应缺陷报告和工程牵引。
3. 降低工程成本:减少重复构造,降低工程成本。
多部门共用同一模块,减少了投资和开发成本,节约了仓储备件,提高了效益。
4. 提高系统可维护性:系统需要时随时可用可提供支持,减少了维修和支持成本,优化了运行。
三、不同领域应用的情况与特点1. 软件工程:在软件工程中,将软件的各种功能和组件设计成可重用的构件。
可以根据用户的需求,将这些构件进行不同的组合,实现各种应用程序的开发,从而提高开发速度和软件质量。
2. 机械工程:在机械工程中,可重用构件主要用于机械装备、建筑及城市规划等领域。
在机械装备的制造中,可重用构件技术能够使机械装备的设计、生产和维护更加高效。
同时,可重用构件也能够将设计分解成多个阶段,以便对每个模块进行解读或优化。
3.电子工程在电子工程中,可重用构件主要用于打电路板。
打电路板需要进行复杂的设计和布线,而可重用构件可以将各种部件进行组合,从而省去了重复的设计和布线工作,减少了设计时间,提高了工作效率和品质。
软件开发过程中的可重用性研究

软件开发过程中的可重用性研究随着计算机技术的发展,软件产业已经成为了当今世界经济发展中不可或缺的一部分。
而在软件开发过程中,可重用性是一个被广泛讨论的话题。
那么,什么是软件可重用性?为什么需要研究软件可重用性?这些问题将在下文中得到解答。
1. 软件可重用性的定义软件可重用性指的是一种能够使软件在不同的应用环境中被重复利用的能力。
在软件开发中,保证软件的可重用性能够降低开发的成本和时间,提高软件开发的效率和质量,并且能够促进软件行业的发展。
2. 软件可重用性的重要性(1) 降低开发成本软件开发的成本不仅涉及到开发所需的人力和物力投入,还需要考虑到开发过程中出现的错误或者不足之处需要花费的额外成本。
如果软件具有较好的可重用性,开发者可以在较短的时间内完成开发,并且将代码进行重复利用,从而降低开发成本。
(2) 提高开发效率软件开发过程中,大量的时间和精力会花费在代码的编写和测试上。
如果代码具有较高的可重用性,开发者就可以减少繁琐的编写工作,将更多的时间投入到解决其他问题上,提高开发效率。
(3) 提升软件质量当软件开发者在开发新项目时,如果能够重复使用之前的代码,就可以避免再次出现已知的问题和错误。
这样能够提高软件的质量,减少测试时间和代码调试的精力。
(4) 促进软件行业发展软件可重用性能够促进软件行业的发展,从而激发更多人参与软件开发和创业。
这样软件行业得到了更多的关注,也能够提高软件的质量和效率。
3. 软件可重用性的研究方法(1) 设计软件部件利用设计模式开发软件部件,这些模块在不同的应用场景中都能够重复利用。
对于开发者来说,设计好可重用的模块或者部件能够节约大量的时间和精力,提高开发效率。
(2) 测试软件部件在开发完成后,需要对开发好的软件部件进行全面的测试,以确保在不同环境下,可重用的部件能够正常工作。
测试软件部件的工作是非常重要的,可以在开发时避免一些困难和错误。
(3) 建立知识库建立一个完整的知识库是非常重要的。
提高作战模拟软件资源可重用性的思考

Ab ta t ofwa e r u e i n e f c i y t m p o e e o ng e fce y a o t r u l— s r c :S t r e s sa fe tve wa o i r ve d v l pi fiinc nd s f wa e q a i t y,a e c e e o i o ta ik I he p p r,t e c o oi t nd r du e d v l p ng c s nd rs . n t a e h h ke p n swhih bl k t e a lt f c oc her us bi y o i
s f wa e e i e i g feds i c ou ,a s u i n ba e o o t r ng ne rn il n a c nt ol to s d on c mpo a lt i u a i s biiy sm l ton,e tt — re t d。 n iy o i n e p t e ns a d W e e v c s i utf wa d,whih ha o d e f c n i p o i h e s bi t fwa — a tr n b s r ie s p or r c s g o fe to m r v ng t e r u a l y o r i g mi o t r e o r e . a ng s f wa e r s u c s Key wor s:wa — a n d r g mi g;s fwa e r u e;e tt — int d;p t e ns;c m p s b lt o t r e s n iy ore e a tr o o a iiy;W e r ie b Se v c s
服 务等 技术 的解 决方案 , 较好地 解 决 了如 何提 高作 战模 拟软 件资 源重用 性 的问题 。 关 键 词 : 战模 拟 ;软件 重用 ;面 向实体 ;模 式 ;可组构 性 ; b服 务 作 we
系统可重用性设计:如何设计系统可重用性,提高系统的可重用性和复用性

系统可重用性设计:如何设计系统可重用性,提高系统的可重用性和复用性引言在软件开发中,我们经常会遇到相似的问题需要解决,或是需要重复使用的功能模块。
在应对这些情况时,我们提高系统可重用性和复用性就显得尤为重要。
系统可重用性指的是系统中的组件、模块和代码可以在不同的环境和项目中被重复使用的能力。
通过合理的系统可重用性设计,可以提高开发效率,降低成本,增加软件质量。
本文将探讨如何设计系统的可重用性,以及提高系统的可重用性和复用性的方法。
什么是系统可重用性设计?系统可重用性设计是一种在系统架构和设计阶段考虑到组件、模块和代码的可重用性的方法。
它通过将通用功能抽象为可重用的模块,使得这些模块可以在不同的项目和环境中被重复使用。
一个具有良好可重用性设计的系统,可以最大限度地减少代码重复,降低开发工作量,提高开发效率。
设计原则要设计具有良好可重用性的系统,我们需要遵循一些设计原则:1. 单一职责原则单一职责原则指的是一个组件或一个模块应该只负责一项功能,而不是负责多个功能。
这样可以将不同的功能拆分成独立的模块,使得这些模块可以被重复使用。
2. 开闭原则开闭原则指的是一个系统的设计应该对扩展开放,对修改关闭。
通过使用抽象类、接口和多态等技术,可以使得系统的组件和模块可以被扩展而不需要修改已有的代码。
3. 依赖倒置原则依赖倒置原则要求高层模块不应该依赖于低层模块的具体实现,而应该依赖于抽象。
这样可以使得组件之间的耦合度降低,更容易进行组合和重用。
4. 接口隔离原则接口隔离原则指的是一个模块不应该依赖于它不需要使用的接口。
通过将接口细分,可以使得模块只依赖于必要的接口,减少不必要的依赖。
5. 迪米特法则迪米特法则也称为最少知道原则,指的是一个模块应该尽量少与其他模块进行通信,只与直接的朋友进行通信。
通过将模块的接口设计得更加简洁,可以降低模块之间的耦合度,提高模块的可重用性。
提高系统可重用性的方法除了遵循上述的设计原则外,还有一些方法可以提高系统的可重用性和复用性:1. 抽象通用模块在系统设计阶段,要将通用的功能抽象为可重用的模块。
软件工程中的可重用性与组件化设计

软件工程中的可重用性与组件化设计在软件工程中,可重用性与组件化设计是两个非常重要的概念。
可重用性指的是将代码设计成可重复使用的模块,而组件化设计则是将这些模块组合在一起,形成一个完整的软件系统。
本文将从可重用性和组件化设计两个方面,探讨如何在软件开发过程中提高代码的可重用性,以及如何将可重用模块进行合理组织,以实现高效、可维护的软件系统。
一、提高可重用性可重用的模块是指那些可以在不同的软件中重复使用的代码片段、函数、类等。
这些代码模块可以加速开发速度,提高软件质量,并降低开发成本。
那么如何提高代码的可重用性呢?1. 设计简洁、清晰的接口接口是组件的入口,也是组件间通信的桥梁。
好的接口设计必须具备清晰、简洁、可扩展等特点。
接口应该尽可能的抽象,以达到对用户透明的效果,同时也应该具备一定的拓展性,以应对用户不断变化的需求。
2. 将代码精简化在代码中,重复性的内容应当进行封装和抽象化,以减少代码量和提高代码的可重用性。
在实现模版代码时,可以考虑使用泛型、接口、继承等方法,使得代码更加精炼。
3. 设计可重用的数据结构和算法数据结构和算法是软件开发中非常重要的内容,设计好的数据结构和算法可以有效地提高代码的可重用性。
例如,在Java中,提供了许多标准的集合类和常用算法,可以实现代码的快速开发和复用。
4. 使用设计模式设计模式是面向对象设计的重要组成部分,可以有效地提高代码的可维护性、可扩展性和可重用性。
许多经典的设计模式,如工厂模式、单例模式、观察者模式等,已经成为了软件开发中必不可少的工具。
5. 代码注释和文档在程序开发过程中,代码注释和文档是非常重要的,可以为其他开发人员提供参考和帮助。
在编写代码时,应该尽量注释关键的代码和算法,编写清晰、易懂的文档,以便其他开发人员使用和维护代码。
二、组件化设计组件化设计是将可重用的模块进行组合的过程。
组件化设计是将可重用模块进行合理组织的关键。
组件化设计应该遵循以下几个原则:1. 模块化模块化是指将软件系统分为若干个独立的模块,每个模块具有一个明确的功能和接口。
软件设计中的可重用性研究

软件设计中的可重用性研究随着软件工程的不断发展,软件的复杂性越来越大,软件开发的难度也越来越高。
为了提高软件开发的效率和质量,软件设计中的可重用性变得越来越重要。
本文将介绍软件设计中的可重用性,并探讨如何提高软件的可重用性。
什么是软件设计中的可重用性?软件设计中的可重用性是指在软件设计过程中考虑到将已有的组件、模块或函数等重复利用的能力。
在软件开发过程中,很多功能是可以重复使用的,比如常用的算法、数据结构、用户接口等。
如果能够将这些功能封装成可重用的组件,在需要时直接调用,就可以提高软件的开发效率和质量。
可重用性不仅仅是一种技术手段,更是一种重要的思想和方法。
提高软件的可重用性有哪些方法?1.模块化设计模块化设计是一种非常重要的设计思想,它将一个复杂的系统拆解成多个互相独立的模块,每个模块负责特定的功能或任务。
在软件设计中,模块化设计可以提高软件的可维护性和可重用性。
模块化设计的关键是设计清晰、独立的接口,使得不同的模块可以方便地进行交互和嵌套。
2.面向对象设计面向对象设计是一种基于对象的设计思想,它将问题域抽象成对象,每个对象具有独立的状态和行为。
在面向对象设计中,可以将对象封装成类,通过继承、多态等机制实现代码的复用。
面向对象设计可以提高软件的可维护性、可扩展性和可重用性。
3.标准化或规范化设计标准化或规范化设计是一种将通用的设计规范化的思想。
在软件设计中,可以通过遵循编程规范、设计模式等标准,使得代码结构清晰、易于理解和重复利用。
标准化或规范化设计可以提高软件代码的可读性、可靠性和可维护性。
4.设计模式的应用设计模式是一种解决重复性问题的模板,它是一些经过验证的通常解决问题方式的描述。
在软件设计过程中,可以使用一些常见的设计模式,比如单例模式、工厂模式、桥接模式等,它们可以帮助开发人员更快地解决问题,提高代码的可重用性。
5.库的使用库是一些封装好的程序模块,可以提供常用的功能和数据结构等,开发人员可以方便地调用这些库来完成自己的项目。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用户建模中的可重用性问题研究*江 淇1,2李广建31(中国科学院文献情报中心 北京100080) 2(中国科学院研究生院 北京100049)3(北京师范大学管理学院 北京100875)【摘要】 随着用户信息环境和用户建模研究的不断发展,用户建模中的可重用性问题已成为用户建模应用的一个关键问题。
本文在分析用户建模研究中已有的两类可重用性问题的解决方案的基础上,提出了一个新的混合方法,并就其中的一些关键问题进行了初步研究。
【关键词】 用户建模 用户模型 可重用性【分类号】 G 350R eusability in U ser M odeli ngJiang Q i 1,2L iGuangjian31(L ibrary o f Chinese Acade my of Sciences ,B eiji n g 100080,China )2(G raduate Universit y of Chinese A cade my of S ciences ,B eijing 100049,Ch i n a)3(M anage m ent School ,B eiji n g N or m al University,B eijing 100875,Ch i n a)【A bstrac t 】 W ith the deve l op m ent o f user i nfor m ation env iroment and user m ode li ng ,reusab ilit y eme rges as a v-i ta l issue i n use r m ode li ng appli cations .In th i s paper ,we present t w o ex isting approaches to dea lw ith the reusab ili ty is -sue ,suggest a new hybr i d approach ,and discuss so m e possi b l e prob l em s i n t he new hybrid approach . 【K eywords 】 U ser modeli ng U ser m odel R eusab ili ty收稿日期:2005-09-15*第19届全国计算机信息管理学术研讨会论文。
1 引 言随着I nter net 的不断发展和日益丰富,人们在工作、学习和生活中所面临的问题已不再是 信息短缺 ,而是 信息过载 。
以用户建模技术为核心技术的个性化信息服务是克服 信息过载 问题的有效方法之一[1]。
在当前,用户在实际的信息活动中所面临的典型情景是要同时应对和使用多种应用,因而,实现用户模型的重用就成为一个关键问题[2]。
2 问题的描述2.1 可重用性问题的含义重用是人类解决问题时普遍使用的一个概念和思维方法。
用户建模中的可重用性问题是指在用户建模应用的开发和运行中,要充分利用领域内现有的各种有用资源(包括各种有用的功能和模型),以避免无效的重复劳动。
通过重用,可以提高用户建模应用的开发效率和服务质量。
归纳起来,用户建模中的可重用性问题大致可以包括两个方面:一是用户建模功能的可重用性问题;一是已有用户模型的可重用性问题。
用户建模研究的历史通常可追溯到20世纪70年代末期,以A lle n 、Cohen 与Perrault 和R ich 等人的工作为代表[3]。
这些早期的研究工作都是针对特定的任务开发特定的模型,构造特定的功能模块。
开发者往往只是单纯地针对特定任务开发特定程序,并采用一些特殊的方法和技巧,而很少考虑模型和功能模块的通用性和可重用性,这就使得为特定需求开发的模型和功能模块很难为其他任务再利用。
这种状况直到今天仍在用户建模研究的结果中占有很大的比例。
从80年代中期开始,用户建模领域的研究人员逐渐认识到用户建模中的可重用性问题,并试图通过引入 通用用户建模系统 这一概念,使用户建模组件与其他部分分离,来解决这一问题[4,5]。
然而由于这个问题本身的复杂性和当时用户建模的认识水平和解决方法的局限,这一尝试未能实现预期的目标。
当前,随着W eb 的不断发展,各种基于W eb 的应用的日益丰富,特别是移动/统一计算环境的发展,极大地推动了用户建模研究的发展[2]。
同时,用户建模研究也7表现出与以往不同的新的特点。
(1)随着任务范围的不断扩展和复杂化,用户建模应用的开发成为一项耗资很大的工程;(2)许多应用的范围和功能都有相似之处,但由于相容性问题没有解决,而很难相互利用,导致许多不必要的浪费; (3)用户建模研究还未能就可重用性问题给出很好的解决方案。
2.2 研究可重用性问题的意义可重用性问题是用户建模研究发展到一定阶段的必然产物。
如果能够有效地解决用户建模中的可重用性问题,我们至少可以从以下几个方面获得收益。
(1)从同一用户的角度来看,如果能够解决可重用性问题,就可以使得用户在一个应用中建立的用户模型,在其他应用中使用,从而可以有效地节约用户训练新系统的时间。
(2)从不同用户的角度来看,如果能够解决可重用性问题,就可以使用户在使用一个新系统的时候,借鉴系统已有用户的训练成果,从而缩短用户的训练过程,提高用户使用新系统的兴趣。
(3)从系统开发的角度来看,如果能够解决可重用性问题,就可以减少许多不必要的重复劳动,使系统开发的费用分摊在不同系统中,同时也可以缩短系统的开发周期。
(4)从系统使用的角度来看,用户适应性系统的服务满意度与系统使用的训练周期有很大关系,如果能够缩短系统使用的训练周期,势必会提高系统用户的亲和力。
3 现有解决方案的分析从已有文献的分析来看,在用户建模领域中,针对可重用性问题的解决方案归纳起来,大致可以分为两类:即通用用户建模系统和基于Ont o l ogy的可重用用户模型。
3.1 通用用户建模系统通用用户建模系统,又称 用户建模Shell系统 是指一个应用(或领域)独立的、能够支持基本的用户建模功能(包括建立与维护等)的系统通用框架。
或者说是一个 空系统 ,在具体应用开发时,通过添加领域特殊的规则而成为一个 实系统 从而为不同应用提供具体的用户建模服务。
不同的应用,可以添加不同的规则。
它就是通过这种规则的替换来实现系统的修改和可重用的。
通常,它是作为一个分离的用户建模组件服务于特定的应用。
通用用户建模系统的代表性研究有F i n i n的GU M S (Gener al U ser M odeli ng Syste m)和K obsa的BGP-M S (Belie,f Goal and P lanM ai ntena nce Syste m)。
(1)GUM S分析GUM S[4]是一个基于P ro log的、支持建立和维护个体用户长期模型的、领域独立的系统架构。
它的目的是通过提供一个服务集合,使应用系统能够建立和维护与之交互的用户的模型。
①GU M S与应用系统之间的接口GU M S的体系结构如图1所示。
GU M S本身并不与用户直接交互,它只为应用程序提供一组服务,与用户的交互是由应用程序来完成的。
GU M S所提供的服务可以分为两类,一类服务是接收(和存贮)应用程序收集的用户的新信息,这些信息可以触发一个推理过程并产生相应的回应;另一类服务是回答应用的提问,应用可能需要查找或演绎有关当前用户的确定信息。
具体说来,GU M S提供了以下几个命令函数:1)s how(Qu ery,Val);2)add(Fact,Stat u s);3)create_user(U ser N a m e,S t ereotyp e,F ile,Stat u s);4)store_cu rrent(S tat us);5)rest ore_user(U ser,S tat us)。
A:a n A pplicati onGUMS:G e nera lU serM ode li ng Syste mGUM S(A):M ode li ng Syste m f or Appli catio n AGUMS(A,U):M odel f orU serU i n A pplicati on A图1 G UM S的体系结构②GU M S的用户模型GU M S的用户模型表现为一个与具体用户关联的模板。
GUM S允许应用系统定义一个具有层级继承关系的模板容器,或者说是一个树型结构。
用户模型就是这个树型结构的叶节点,它继承了所有上位节点的属性。
每个模板都由一定数量的事实和规则组成。
应用系统必须为每个用户选择一个初始模板。
如果模板中的事实与用户的新信息发生冲突,则这个模板就会被抛弃,代之以一个直接的或非直接的上位模板,新的模板不包含有冲突的事实。
(2)BGP-M S分析B G P-M S[6]作为一个用户建模She ll系统,可以帮助交互式软件按照用户的知识、信任和目标调整它与用户的交互。
B G P-M S是一个独立于应用的可定制的软件系统,不同的应用可以按照各自的需要选择BGP-M S的组件,添加相应的依赖领域的用户建模知识。
BGP-M S也可以作为一个网络服务器,服务于多个用户和多个应用。
8图2 BGP-M S与应用系统之间的交互①BGP-M S与应用系统之间的接口BGP-M S与应用系统之间的交互如图2所示。
具体地说,BGP-M S与应用系统之间的交互是通过KN-I PCM S(Ko N stanz In t er-Process C o mm un i cati on M anage m en t Syste m)协议来完成的。
KN-IPC-M S协议是一个平台独立的、面向消息的交流协议,它同时支持同步与异步两种交流方式。
BGP-M S与应用系统之间交流的消息包括以下几种类型:1)应用可以把观察到的用户信任和目标通知给BGP-M S;2)BGP-M S可以把会谈问题发送给应用;3)应用可以把问题的答案发送给BGP-M S;4)应用可以把观察到的用户行为通知给BGP-M S;5)应用可以向BGP-M S询问用户的当前假设;6)BGP-M S可以回答应用的这些询问;7)BGP-M S可以把重要的事件发送给应用。
②BGP-M S的用户模型BGP-M S的用户模型也是采用模板的方法来表示的。
每个模板可以包含任意数目的关于用户子群的假设,模板之间通过层次关系组织在一起,子节点继承父节点的内容。
与GUM S不同的是,BGP-M S 的用户模型可以同时与多个模板建立继承链接,并且用户模型也可以拥有自己的假设。
推理采用一阶谓词演算。
3.2 基于Onto l o gy的可重用用户模型与通用用户建模系统关注于用户建模功能模块的重用不同,基于Ontol ogy的可重用用户模型研究所关心的是用户模型本身的重用问题。