中国科学院软件研究所机构知识库
Advanced  
ISCAS OpenIR  > 中科院软件所  > 中科院软件所
题名:
基于知识面向构件的角色法——开放角色
作者: 曹森
答辩日期: 1997
专业: 计算机软件
授予单位: 中国科学院软件研究所
授予地点: 中国科学院软件研究所
学位: 博士
关键词: 角色 ; 角色法 ; 构件 ; 开放角色 ; 规则的层次性 ; 规则更新
摘要: 计算机自发明到现在,已经历了半个世纪,计算机越来越深入到人类的活动之中,计算机的硬件几乎每隔几年都要进行更新换代,计算机的软件开发效率和质量也得到了不断的提高。然而,计算机的体系结构一直保持冯·诺依曼机器模型,计算机所求解的问题结构与所用的求解问题的方法空间结构存在不一致,因而造成了软件开发过程中客观域的问题解决与软件域的问题解决之间映射的鸿沟。而且,随着软件系统规模不断扩大,软件产业出现“软件危机”,导致软件危机的原因有两个方面,一方面是软件本身的复杂性,另一方面软件开发人员缺乏合理和实用的软件开发过程模型及其在模型指导下的具体实施方法。目前,软件开发人员在编写程序过程中的注重的是程序设计语言和正则公式的语义,这种软件开发的规模无法满足当前软件开发的巨大需求,并且间接地增加了软件的复杂度。因此,软件开发中存在的两大问题——客观域问题的解决到软件域问题的解决的映射鸿沟以及软件危机都与软件开发中使用的软件开发方法有着密切关系。本文中,我们分析了目前最常用的三种软件开发方法的特点及其存在的问题,并且提出角色法,利用角色为客观域和软件域之间映射建立沟通的桥梁。角色法有机地融合了面向对象技术和基于知识的AI推理技术,并结合了快速原型法、软件重用以及计算机辅助软件工程,形成一种新的有效的软件开发方法,角色法目标是提高软件开发的效率和质量。角色法认为:角色包含属性集、动作集、规则集和角色界面,通过规则,角色不需要外部干预而独立完成自己的内部事务,并且,通过角色界面,角色之间可以相互协作,角色可以请求其它角色协作和响应协作请求。在第三章中,我们分析了新兴起的软件构件技术,并对构件的特点进行了详细描述。然后,在角色法的基础上,吸收了构件的优点,提出一种基于知识面向构件的角色法,即开放角色。开放角色可以动态地连接构件,为构件提供较好的重用机制;同时,开放角色可以使用构件提供的操作,这使得软件开发人员在编写程序过程中不再仅仅局限于程序设计语言,提高了处理问题的规模。开放角色具有智能性,与OLE2.0和OpenDoc以数据类型驱动构件不同,开放角色是以数据模式驱动构件的,开放角色通过规则可以控制开放角色的动作以及开放角色连接的构件的操作。开放角色的规则是具有层次性的框架,通过对规则的加入、删除和修改,开放角色可以相应地调整其连接的构件以及构件的操作。为了开放角色更好地利用构件,我们提出了几种分类和查询构件的方法,并对这些方法进行详细地分析。最后,我们介绍了如何应用开放角色方法进行开发,其中包括,如何表示角色,如何表示角色的规则,以及如何方便地将已有的程序改写为构件,等等。并以发运角色作为实例。
英文摘要: From its birth, computer has been widely used for half a century, and it more and more takes effect on human activities. Hardware has been renovated frequently, and software productivity and quality have been improved steadily. However, computer still keeps Von Neumann Machine model, there is a high gap between structures describing questions and methods solving them, so it is difficult to close the gap. Moreover, the scale of software system expanding is exacerbating software crisis in software industry, because software itself is so complex and developers lack of efficient methods to develop software. At present, most our knowledge in program construction deals with minute details about semantics of programming languages and correctness formulas, this scale to solve problems is so small that we can not meet the demands placed on the software industry and that software complexity is enlarged relatively. So methods of software development have great impacts on the gap and software crisis. In this paper, we analyze three kinds of methods generally used, and expose their advantages and disadvantages, then we put forward Role-based methodology, and use a role as a bridge between problems and software. Role-based methodology is derived from the technology of object-oriented modeling and design and knowledge-based AI reference, and also is combined with the methodology of rapid prototyping, software reuse and computer aided software engineering. It is proposed as a new efficient method of software development, and it aims at improving the productivity and quality of software. Role-based methodology considers: including private data set, action set, rule set, and interface, role can control itself through rules, and it can cooperate with others and response their requests. In chapter 3, we retrospectively discuss the technologies of software component and clearly describe component, then propose a new method named as Open Role, which is based on knowledge and oriented to components. Open Role provides a good way for reusing components by dynamically linking components, while it can use operations provided by components so easily that we will be not confined to minute details about semantics of programming languages and correctness formulas, the scale to solve problems is enlarged. Unlike that OLE2.0 and OpenDoc drives components by data type, Open Role does by data mode, it is intelligent, because it can control its actions and operations of linked components through its rule set. Its rule set is organized as a hierarchical frame, and rules can be inserted, deleted and updated, accordingly, it adjusts which components and operations of linked components it controls. In order to make full use of component, we propose several ways to classify and search components, and exhaustedly analyze them. Finally, we clearly explain how to develop software with Open Role, including how to construct roles, how to express rules, and how to reconstruct used programs to components. we illustrate them with an example of Delivering Role.
语种: 中文
内容类型: 学位论文
URI标识: http://ir.iscas.ac.cn/handle/311060/7436
Appears in Collections:中科院软件所

Files in This Item:
File Name/ File Size Content Type Version Access License
N98817.pdf(1907KB)----限制开放-- 联系获取全文

Recommended Citation:
曹森. 基于知识面向构件的角色法——开放角色[D]. 中国科学院软件研究所. 中国科学院软件研究所. 1997-01-01.
Service
Recommend this item
Sava as my favorate item
Show this item's statistics
Export Endnote File
Google Scholar
Similar articles in Google Scholar
[曹森]'s Articles
CSDL cross search
Similar articles in CSDL Cross Search
[曹森]‘s Articles
Related Copyright Policies
Null
Social Bookmarking
Add to CiteULike Add to Connotea Add to Del.icio.us Add to Digg Add to Reddit
所有评论 (0)
暂无评论
 
评注功能仅针对注册用户开放,请您登录
您对该条目有什么异议,请填写以下表单,管理员会尽快联系您。
内 容:
Email:  *
单位:
验证码:   刷新
您在IR的使用过程中有什么好的想法或者建议可以反馈给我们。
标 题:
 *
内 容:
Email:  *
验证码:   刷新

Items in IR are protected by copyright, with all rights reserved, unless otherwise indicated.

 

 

Valid XHTML 1.0!
Copyright © 2007-2017  中国科学院软件研究所 - Feedback
Powered by CSpace