基于UML和时序逻辑语言的银行ATM系统描述与求精
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
软件体系结构是20世纪90年代国际软件工程领域出现的一个研究热点,随着软件系统规模和复杂性的不断增大,软件体系结构的设计已成为系统成功的关键因素。
     软件体系结构描述是软件体系结构的一个首要研究内容。目前主流的软件体系结构描述方法主要有两类,分别是可视化描述和形式化描述。两者在描述软件体系结构方面具有很强的互补性。可视化描述清楚直观,以UML为代表。UML提供了一套描述软件系统模型的概念和图形表示法,但缺乏精确的语义,难以对所表示的模型进行严格分析。形式化描述语义精确,如XYZ/E。XYZ/E是一种可执行的形式化的时序逻辑语言,可以在统一的时序逻辑框架下表示从形式化规范到可执行程序的不同抽象层次的系统描述,它的这一特性可以应用于软件体系结构的描述、求精和设计中。
     本文主要探讨了如何将可视化建模语言UML和时序逻辑语言XYZ/E相结合来描述软件体系结构的问题。首先介绍了软件体系结构的基本概念和描述方法,在此基础上,分析了将UML和XYZ/E相结合描述软件体系结构的可行性。UML的各类视图适合对不同系统结构和行为的描述,但缺乏一致的语义基础,难以说明系统的内在联系。时序逻辑语言XYZ/E适合作为软件体系结构的形式化理论基础,但它对软件体系结构概念方面的支持还不够,基于这方面的考虑,我们扩充了XYZ/E的语法成份,使之支持软件体系结构的基本概念,在语言上提供对软件体系结构基本概念的显式支持,并对UML进行扩展和约束,定义了UML活动图的XYZ/E语义,使之更好的支持软件体系结构的描述。最后本文通过对银行ATM系统体系结构的描述和求精,进一步说明了该方法的可行性。
     本文的研究对软件体系结构描述研究、UML形式语义研究和形式化方法在软件开发中的应用等方面都将有一定的推动作用。
Software architecture has emerged as a hot spot in the international software engineering fields in the 1990s. With the size and complexity of software system increasing, the design of architecture has always been a major factor in determining the success of systems.
     Software architecture description is a chiefly research task. Now the main methods of software architecture description are visual description and formal description. They have complementary advantages in describing software architecture. The method of visual description can describe system distinctly, UML is typical of visual description.
     UML provides a whole set of concepts and graphical method which can describe software system. However, UML lacks of precise semantics, so that it is difficult to analyze the models strictly. The method of formal description can describe system precisely, for example XYZ/E. XYZ/E is a executable temporal logic language. It can express systems’description of different abstraction levels from formal criterion to executable programs in a uniform temporal logic frame. This characteristic is suitable to description, refinement and design of software architecture.
     This paper discusses how to describe software architecture by combining UML and XYZ/E. Firstly it discusses the feasibility of combining UML and XYZ/E. All kinds of diagram of UML are suitable to describe different systems structures and behaviors, but they lack same semantics basis so that they can’t express the inherent relation of system. XYZ/E is very suitable as rationale of the formal method, but the support to the concept of software architecture is still not enough. According to consideration of the aspect, we enlarge the wording composition of XYZ/E and make it support the basic concept of software architecture on the language.We extend and constraint the elements of UML, then define XYZ/E semantics of UML activity diagram, so they can describe software architecture in a better way. At last, the feasibility of this method is explained further by the description and refinement of a bank ATM system’s architecture.
     The research of this paper will promote the research of software architecture description, formal semantics of UML and the appliance of formal methods in the software development etc.
引文
[1] Garlan D, Shaw M.An Introduction to Software Architecture,CMU-CS-94-166,1994.
    [2] 张广泉.软件体系结构与 XYZ 系统.中国科学院软件研究所博士后研究报告,2002.
    [3] Unified Modeling Language Specification.Object Management Group.Framinghan Mass,1997(UML1.0)and1998(UML1.1).
    [4] 孙昌爱,金茂忠,刘超. 软件体系结构研究综述. 软件学报, 2002, 13(7):1128~1137.
    [5] 梅宏,申峻嵘.软件体系结构研究进展.软件学报,2006,17(6):1257~1275.
    [6] Taylor R.N., Medvidovic N. A component-and-message-based architecture style for GUI software. IEEE Trans. Software Engineering, 1996, 22(6):390~406.
    [7] Allen R., Garlan D. A formal basis for architectural connection. ACM Trans. Software Eng. and Methodology, 1997, 6(3): 213~249.
    [8] Magee J., Kramer J. Dynamic Structure in software architectures. In: Proc. The 4th ACM SIGSOFT Symposium on Foundations of Software Eng. New York: ACM Press, 1996, 3~14.
    [9] Garlan D.,Wang Z.ACME_Based Software Architecture Interchange. Springer-Verlag,1999, LNCS1594, 340~354.
    [10] Garlan D., Allen R., Ockerbloom J. Exploiting style in architectural design environments. New York: ACM Press, 1994. 175~188.
    [11] Shaw M., DeLine R., Klen D.V. et al. Abstractions for software architecture and tools to support them. IEEE Transactions on Software Engineering, 1995, 21 (4): 314~ 355.
    [12] Luckham D.C., et al. The Rapide language. Stanford University. http://pavg.stanford. edu/rapide/language.htm.
    [13] Moriconi M., Qian X, Riemenschneider R.A. Correct architecture refinement. IEEE Transactions on SoftwareEngineering, 1995, 21(4) : 356~372.
    [14] Vestal S. MetaH programmer’s manual. Version 1. 09. Technical Report, Honeywell Technology Center, 1996.
    [15] 冯铁, 张家晨, 陈伟等. 基于框架和角色模型的软件体系结构规约. 软件学报. 2000, 11(8): 1078~1086.
    [16] 马俊涛, 傅韶勇, 刘积仁. A-ADL: 一种多智能体系统体系结构描述语言. 软件学报, 2000, 11(10): 1382~1389.
    [17] 朱雪阳, 唐稚松. 基于时序逻辑的软件体系结构描述语言 XYZ/ADL. 软件学报, 2003,14(4): 714~720
    [18] 张家晨, 冯铁, 陈伟等. 基于主动连接件的软件体系结构及其描述方法. 软件学报, 2000, 11(8): 1047~1052.
    [19] 王晓光, 冯耀东, 梅宏. ABC/ ADL : 一种基于 XML 的软件体系结构描述语言. 计算机研究与发展, 2004, 41(9): 1521~1530.
    [20] 熊悦, 李曦, 周学海等. 功耗-体系结构描述语言 XP-ADL 及其设计环境. 小型微型计算机系统. 2003, 24(8): 1470~1473.
    [21] Kazman R., Bass L., Abowd G., et al. SAAM: a method for analyzing the properties of software architectures. http://fp.ieeexplore.ieee.org/iel4/981/7343/00296768.pdf.
    [22] Kazman R., Bass L., Abowd G., et al. Scenario-Based analysis of software architectures. IEEE Software, 1996, 47~55.
    [23] Mario R., Barbacci S., Jeromy C., et al. Steps in an architecture tradeoff analysis method: quality attribute models and analysis. Techical Report, CMU/SEI-97-TR-029, Carnegie Mellon University, 1997.
    [24] Laine PK. The role of SW architecture in solving fundamental problems in object-oriented development of large embedded SW systems. In: Proc. of the Working IEEE/IFIP Conf. on Software Architecture. Washington DC: IEEE Computer Society Press, 2001. 14?23. http://portal.acm.org/toc.cfm?id=832312&type=proceeding&coll=GUIDE&dl=GUIDE&CFID=71067614&CFTOKEN=78 917093
    [25] Kazman R, Carrière SJ. Playing detective: Reconstructing software architecture from available evidence. Journal of Automated Software Engineering, 1999,6(2):107?138.
    [26] Sartipi K, Kontogiannis K. A graph pattern matching approach to software architecture recovery. In: Proc. of the IEEE Int’l Conf. on Software Maintenance. Washington: IEEE Computer Society Press, 2001. 408?419. http://portal.acm.org/toc.cfm?id= 846228&type=proceeding&coll= portal &dll=ACM&CFID=71067633&CFTOKEN=90422167
    [27] Stoermer C, O’Brien L, Verhoef C. Practice patterns for architecture reconstruction. In: Proc. of the 9th Working Conf. on Reverse Engineering. Washington: IEEE Computer Society Press, 2002.151?160.http://portal.acm.org/toc.cfm?id=882506&type= proceeding&coll=&dl=GUIDE & CFID =71067674&CFTOKEN=35574387
    [28] Bass L., Kazman R. Architecture-Based development. Technical Report CMU/SEI-99-TR-007, Carnegie Mellon University, 1999.
    [29] 周莹新,艾波. 软件体系结构建模研究. 软件学报,1998, 9(11): 866~872.
    [30] 陶伟.以体系结构为中心软件产品线开发.北京航空航天大学博士学位论文,1999.
    [31] 周莹新. 电信软件体系结构的研究. 北京邮电大学博士学位论文,1999.
    [32] Bass L, Clements P, Kazman R. Software Architecture in Practice. 2nd ed. Boston: Addison Wesley Professional, 2003.
    [33] Shaw M, Clements P. The golden age of software architecture. IEEE Software, 2006,23(2):31?39.
    [34] IEEE. IEEE recommended practice for architectural description of software-intensive systems. IEEE, IEEE Std1471-2000, 2000.
    [35] Kruchten PB. The 4+1 view model of architecture. IEEE Software, 1995,12(6):42?50.
    [36] Hofmeister C, Nord R, Soni D. Applied Software Architecture. Boston: Addison-Wesley Professional, 2000.
    [37] Maranzano J. Best Current Practices: Software Architecture Validation. AT&T Bell Labs., 1990.
    [38] Malveau R, Mowbray T. Software Architect Bootcamp. New Jersey: Prentice Hall, 2000.
    [39] 唐稚松等.时序逻辑程序设计与软件工程(下册):软件工程方法与工具.北京:科学出版社,2002.
    [40] Shaw M,Garlan D .Software Architecture:Perspectives on an Emerging Discipline.北京:清华大学出版社,1998.
    [41] 江贺,冯冲,冯静芳.软件体系结构理论与实践.北京:人民邮电出版社,2004.
    [42] Clements P, Northrop L. Software Architecture: An Executive Overview. Technical Report CMU/SEI-96-TR-003 ESC-TR-96-003.
    [43] 黄正宝.可视化与形式化相结合的软件体系结构描述研究.苏州大学硕士学位论文,2006.
    [44] Philippe Kruchten. The 4+1 View Model of architecture. 1995.11, http://www.cs.ubc.ca/~gregor/ teaching/papers/ 4+1view-architecture.pdf.
    [45] 张玲红. UML 和 ADLs 在软件体系结构建模中的应用. 苏州大学硕士学位论文, 2004.
    [46] 祝义.基于 UML 和 Z 的软件体系结构求精方法及应用.苏州大学硕士学位论文.2005.
    [47] Allen R,Garlan D.Formalizing architectural connection.In:Proceedings of 16 th International Conference on Software Engineering. May 1994,71~80
    [48] 刘玲, 缪淮扣. Z 规格说明构造方法. 计算机工程, 2000, 26(2): 39~41.
    [49] 贾若宇, 赵保华, 屈玉贵. CSP 和 RSL 应用于协议形式化描述的研究. 计算机应用, 2003, 23(1): 10~12.
    [50] Rumbaugh J, Jacobson I, Booch G.姚树珍,唐发根译.UML 参考手册.北京:机械工业出版社,2001.
    [51] Clements P, Bachmann F, Bass L, Garlan D. Documenting Software Architecture.北京:清华大学出版社,2003.
    [52] Craig Larman,姚淑珍,李虎,等译.UML 和模式应用:面向对象分析与设计导论,北京:机械工业出版社,2002.
    [53] 邵维忠,杨芙清.面向对象的系统设计.北京:清华大学出版社,2003.
    [54] 施昊华,张朝辉.UML 面向对象结构设计与应用.北京:国防工业出版社,2003.
    [55] 江贺,冯冲,冯静芳.软件体系结构理论与实践.北京:人民邮电出版社,2004.
    [56] Garlan D,Kompanek A. Reconciling the Needs of Architectural Description with Object-Modeling Notations.《UML》2000,LNCS1939,418-512.Springer-Verlag Heidelberg.
    [57] http://cs.ua.edu/SEL/ Other%20material/UML/arch.ppt
    [58] 覃征,何坚,谢国形.软件体系结构.西安:西安交通大学出版社,2002.
    [59] Hofmeister C, Nord R, Soni D.Applied Software Architecture.北京:电子工业出版社,2003.
    [60] 江贺,冯冲,冯静芳.软件体系结构理论与实践.北京:人民邮电出版社,2004.
    [61] 唐稚松等.时序逻辑程序设计与软件工程(上册):时序逻辑语言.北京:科学出版社,1999.
    [62] Z. Manna, A. Pnueli. The Temporal Logic of Reactive and Concurrent System: Specification. New York: Springer-Verlag, 1992.
    [63] Moriconi M.,QIAN X, Riemenschneider R. Correct Architecture Refinement.IEEE Tran Soft Eng, 1995, 21(4): 356-372.
    [64] Garlan D. Style-Based Refinement for Software Architecture. Proceedings of the Second International Software Architecture Workshop. ISAW2 1996.
    [65] 郑建丹.基于组件的逐步求精程序设计方法研究.硕士学位论文.中国科学院软件研究所,2001.