基于规则的软件体系结构研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
近年来,软件体系结构已经成为软件工程领域的研究热点以及大型软件系统开发中的关键技术之一。随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。人们逐渐认识到软件体系结构在软件开发中的重要地位,软件体系结构是解决系统需求向最终实现进行平坦过渡的有效方法,软件模式为重用成功经验提供了一条有效的途径。
     语义Web研究的目的就是要提供一种具有语义支持的计算平台,以一种机器可以处理的方式来表示信息,使得人机之间、计算机之间的语义交互变得畅通,自动处理得以实现。随着语义Web研究的深入,规则引擎技术再一次被人们提起并将在信息系统中发挥它不可比拟的作用。规则引擎技术将业务逻辑当作结构化的对象进行处理,使复杂的业务逻辑变成简单的业务规则,将业务逻辑与系统实现分离开来,使业务改变能够不影响系统的正常应用,并且能实时地将变化的业务规则应用在业务处理中。
     本文针对目前软件系统面向大规模和复杂业务处理的要求,研究重点在于对业务流程和逻辑进行形式化的逻辑描述和逻辑处理。本文根据软件工程领域的分层思想和人工智能领域的逻辑表示方法和处理理论,结合语义Web中逻辑层的概念,使用业务规则对业务逻辑进行形式化的描述和存储,将业务规则的实现从具体的程序代码中抽取出来,实现了业务流程和业务逻辑的形式化和逻辑表示。在业务逻辑形式化的基础上,引入Mandarax规则引擎进行业务逻辑的推理处理,实现业务逻辑的集中处理。业务逻辑的形式化和标准化的描述,提供了业务流程配置的支持。
     本文设计的基于规则的软件体系结构,作为一个可复用的系统构架,整合了本文的主要研究成果,使用Prova建立了规则层,使用规则引擎实现业务逻辑的推理处理。最后本文证明了基于规则的软件系统结构的可行性和有效性,并且更有利于提高软件的可复用性和易维护性,在一定程度上完善了软件工程设计技术的理论层次。
In recent years, Software Architecture (SA) has become one of the hotspots of the research of Software Engineering and also one of the key techniques during the development of the large software system. The structure and specification of a whole system become more and more important; along with the scale of software system becomes bigger and more complex. The developers gradually realize the importance of the SA during the procedure of development. SA is an effective method on transition from requirement to realization, and software patterns offered an impactful approach for the reuse of successful solution.
     The purpose of Semantic Web’s research is to provide a kind of semantic support for computation platform, express information that computer can understand, enable semantic interaction between human and computers conveniently, and realize automation. According the lucubrating on Semantic Web, rule engine technology arouses people's attention again and will play an incomparable role in the information system. Rule engine technology deals the business logic as structural object, transforms the complex business logic into simple rules, and divides business logic from the realization of the system. That makes little influence to the system when the logic changes. And the System can real-time apply these changes into the business transact.
     This paper aims at the need of large scale and complex business processes of current software system, focuses on formalizing the logical description and disposal of business flow and logic. According to the delamination in SA and representation of the logic in AI area and the theories of the rules layer in Semantic Web, this paper uses business rules to store the business logic, takes logic out of the source code, and implements the representation of formalization to business flow and logic. Based on the formalization of business logic, Mandarax, a Java rule engine, is introduced for consequence of the business rules. The formalization of business logic also provides support for dynamic reconfiguration of business process.
     The SA as a reusable system architecture integrates the main research achievement of the paper, which builds the rule layer using Prova, implements the reasoning process of business logic. Finally, the Rule-based software system architecture is proved to be feasible and effective, more fit to improve the reusablity and maintenance of software, and more complete in the theory level of software engineering design technique to some extent.
引文
[1] 杨芙清,中国软件产业的发展现状与展望,计算机世界报,1997,21:3~6
    [2] 王朝阳,基于规则引擎理论的数据报警的实现,[硕士学位论文],东北大学,2006
    [3] 叶鹏,软件体系结构模型的形式化研究,[硕士学位论文],武汉大学,2005
    [4] 赵俊岭,基于元数据的软件体系结构及其应用北京邮电大学,2005
    [5] IEEE Recommended Practice for Architectural Description for Software-Intensive Systems,http://standards.ieee.orp,2000
    [6] D.E.Perry. Software engineering and software architecture. Proceedings of the International Conference on Software: Theory and Practice, 2000:1~4
    [7] David Garlan , Mary Shaw, An Introduction to Software Architecture, http://www-2.cs.cmu.edu/afs/cs/project/able/www/papet-abstracts/introsoftarch.html, 1994. 1
    [8] D.Garlan,M.Shaw. An introduction to software architecture. Technique Report. Carnegie Mellon University,1994:1-2
    [9] 刘日光,面向问题的软件体系结构建模的研究, [硕士学位论文],燕山大学,2006
    [10] C.Gacek,A.A.Abd,B.K.Clark,et al .On the definition of software system architecture. Proceedings of the first International Workshop on Architecture for Software Systems,1995:85-95
    [11] 傅贵,三层结构模型——一种新的应用系统结构,广东公安科技,1999,7 (2):43-52
    [12] 李卫华,语义 Web 上本体与智能信息 Agent 的集成研究,计算机工程与应用,2002,38(16):136~138,156
    [13] 张晓林,Semantic Web 与基于语义的网络信息检索,情报学报,2002,21(4):413~420
    [14] 田春虎,国内语义 Web 研究综述,情报学报,2005,24(2):243~249
    [15] T. Berners-Lee , "Semantic Web - XML2000" ,http://www.w3.org/2000/Talks/1206-xml2ktbl/slide10-0.html, 2000.
    [16] 邓志鸿、唐世渭等,面向语义集成—本体在 Web 信息集成中的研究进展,计算机应用,2002,22(1):15~17
    [17] 田稷,语义 Web 与网络信息和知识的表达,情报杂志,2003,22(6):43~44
    [18] Gruber TR. A Translation Approach to Portable Ontology Specifications, K knowledge Acquisition,1993,5
    [19] 刘丽娜, 语义网在数字博物馆中的研究,北京交通大学, 2006
    [20] 张渊、夏清国,基于 Rete 算法的 JAVA 规则引擎,科学技术与工程,2006,6(11):1548~1550
    [21] 李 国 乐 , Java 规 则 引 擎 与 其 API(JSR-94) ,http://www-128.ibm.com/developerworks/cn/j-java-rules/#IDACCWOB.07/2005 ,2005
    [22] 凌海云,基于语义网的智能搜索技术的研究与实现电子科技大学,2004
    [23] 吉张媛,通用模糊 PROLOG 方法及其应用,[硕士学位论文],西北工业大学,2006
    [24] 张文星,纪有奎,人工智能语言 PROLOG 专家系统原理与设计,武汉测绘科技大学出版社,1998
    [25] 刘航,基于 ECA 规则和元操作的工作流模型研究,[硕士学位论文],复旦大学,2005
    [26] Donald Nute, Defeasible logic, O. Bartenstcin et al. (Eds.): INAP 2001 2543, Springer-Verlag Heidelberg,2003,159~161
    [27] Grigoris Antoniou and Antonis Bikakis,Gerd Wagner,A Defeasible Logic Programming System for the Web,Proceedings of the 16th IEEE International Conference on Tools with Artificial Intelligence (ICTAI 2004),2004
    [28] Benjamin N.Grosof, A Courteous Compiler From Generalized Courteous Logic Programs,1999
    [29] 师艳辉,基于 JAVA 的业务规则管理系统设计和开发,[硕士学位论文],浙江大学

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700