摘要
自适应软件是一类具有自适应能力的软件。所谓的自适应能力就是软件在运行时可以评估自己的行为,当评估结果显示无完成软件意图,或可以获得更好的功能或性能时,它会改变自己的行为。
虽然自适应软件技术的研究已经进行了一段时间,但是其中的一些关键技术还尚不完善,需要进一步的研究,如自适应软件中的环境感知、软件服务质量建模、基于软件体系结构的重配置、软件自适应的可信性保证等方面。在这些方面进行深入探索和研究,能够推动自适应软件技术体系理论的进一步完善。同时可以推动自适应软件的开发和应用,提高软件应对环境变化的能力,增加软件的生命周期。
本文在国内外的现有研究基础上,针对自适应软件中的若干关键技术进行了研究,包括:
自适应软件基础研究。介绍了目前自适应软件研究的一些现状,分析了自适应软件的基本原理,给出了自适应软件的基本架构和实现方式。这些都是从宏观角度上针对自适应软件进行研究,给出构建自适应软件的一些指导原则,为自适应软件的进一步研究打下基础。
自适应软件的环境感知研究。自适应软件运行环境的改变通常是造成其重配置的一个重要因素,因此如何设计一个好的环境感知框架,是一个很重要的研究方向。本文中提出了一种环境感知框架,以环境采集模型约束信息采集,以有限状态自动机描述环境信息对应用系统状态的驱动。
自适应软件的服务质量建模研究。自适应软件服务质量要求的改变通常是造成其重配置的一个重要因素,因此如何更好地表示和描述这些因素,是一个很重要的研究方向。本文从领域分析入手,采用两级领域建模机制,对构件的QoS元模型进行了形式化描述,定义了特定领域QoS建模语言,采用这个语言可以定义特定领域内的QoS信息。
自适应软件的重配置研究。重配置是自适应软件的核心,本文研究了从设计时对重配置的支持到运行时对重配置的支持。运行时的重配置必须有外在的力量去实施,按照特定的系统蓝图去实现。这个特定的系统蓝图就是软件的体系结构。本文从软件体系结构的组成、风格、描述语言等方面出发,研究了软件体系结构的一般原理和基本准则。为了支持运行时的重配置,本文在传统软件体系结构基础了,提出了基于软件软件体系结构的重配置方法。
自适应的可信性保证研究。仅仅保证自适应软件在运行时完成重配置是不够的,软件不停止运行仅仅是个前提条件之一,还必须保证自适应软件在重配置后,还能够正确地提供服务,这就是可信性的研究工作。本文提出了一种可信重配置的验证方法,从替换的整体性、接口的一致性、状态的一致性、系统属性约束的一致性出发,给出这几个方面可信性的形式化定义,为软件的自适应提供可信性的保证。
最后,本文给出了总结与展望。将论文中所有的工作进行了总结,列出了论文中的创新点,阐述了论文需要进一步研究的地方。
Modern software technology must face three challenges:
1. With the development of computer hardware, software and network technology, moreand more powerful hardware systems appear.
2. With the popularity of the Internet, the software system built on the Internet has alsobecome a trend. The environment of Internet is complex and changing, so the system on it mustadapt to this change.
3. With the improvement of the quality of the software’s users and the expansion of thecompany's business, new requirements is coming. The software must adapt these newrequirements as soon as possible.
To deal with these challenges, it has to return to the software design phase and redesign thesoftware according to new environment and requirements. But, there are some troubles. First,the developers and user of the software are usually belonging to the same institution. When thesystem needs redesign, the institution may no longer exist, or can not be implemented becauseof funding problems. Second, the new technology does not completely guarantee compatibilityof old technology. Last, for some software if you stop them to run the upgrade, the costs aresignificant.
If the software can consider the future possible change in its design phase and can selfreconfigure according to the environmental changes and customer needs, then the software lifecycle will be longer, and greatly reduce the cost of maintenance in the runtime. This approach issoftware self adaptive technology.
In the dissertation, we do some research on several key technologies on the basis ofexisting work in the area of self adaptive software.
Firstly, the dissertation analyzes adaptive software technology in-depth, including theorigin of adaptive software, range of applications, the basic architecture, implementation style,etc. Then we study self adaptive software’s context aware, software service quality modeling,self adaptive software’s reconfiguration, and self adaptive software’s Creditability. These arekey issues of self adaptive software. We have proposed solutions to these issues. Specifically,the research works mainly include the following aspects:
1. Research of Adaptive software infrastructure. We introduce current status of selfadaptive software, analyze basic principles of adaptive software, and propose basic architectureand implementation style of adaptive software. The research gives some guiding principles forbuiding adaptive software from a macro perspective and lays the foundation for further study ofadaptive software.
2. Research of Adaptive software’s context aware. The reconfiguration of self adaptivesofware is usually caused by change of its running context. So, how to design a good frameworkfor context-aware, is a very important research direction.
3.Research of software service quality modeling. In this dissertation, using domainanalysis technology and two level modeling technology, we propse a formal description of thecomponent’s QoS metamodel and define a domain-specific QoS modeling language. Thislanguage can be used to define domain specific QoS information.
4. Research of self adaptive software reconfiguration. Reconfiguration is core of selfadaptive software. In the dissertation, we study the design time reconfiguration and the runtimereconfiguration. Runtime reconfiguration must have external forces to implement in accordancewith the particular system blueprints. This particular system blueprint is the softwarearchitecture. Starting from the composition of the software architecture, style, and description,we study the general principles and basic guidelines of the software architecture. In order tosupport the runtime reconfiguration, we propose a reconfiguration method based on softwarearchitecture.
5. Self adaptive software’s Creditability. Only guarantee adaptive software at runtimereconfiguration is not enough, it must also ensure that the self adaptive software is still able tocorrectly provide services after reconfiguration. This is the research work of credibility. In thedissertation, we propose the formal definition of the credibility from the different sides,including the integrity of the replacement, consistency of the interface, consistency of state,consistency of the system constraints.
Innovation of this dissertation is:
1.Propose a context aware framework. In this dissertation we formalize the contextinformation and context information mapping, and describe the process of modeling of contextinformation’s collection. Then, on the basis of the existing research we propose a improvedcontext aware framework.
2. Propose a QoS modeling mechanism using in component-based self adaptive software.Using domain analysis technology and two level modeling technology, we propse a formaldescription of the component’s QoS metamodel and define a domain-specific QoS modelinglanguage. This language can be used to define domain specific QoS information, can havedifferent syntax manifestations and unified semantic base. So, models can be delivered andtransfered easily between different areas or different system. Becausethe entire QoS meta-modelis based on the MOF, that is MOF can also describe QoS metamodel. So QoS models defined byit and other MOF-based modeling languages have the basis of a unified semantic.
3. Research on the key issue in the reconfiguration of the architecture. In the research of software architecture, we analyze six kinds of architecture styles and study the possibility ofsupporting dynamic reconfiguration. Also, we propose three modes of self adaptive software:object management reconfiguration, component replace reconfiguration and restructuringreconfiguration. We believe that reconfiguration of self adaptive software is not only relatedwith software architecture, and associated software application framework. Different applicationframework causes different reconfiguration way. Most of the literature in the study of theso-called reconfiguration or evolution believe all reconfigurations are that growth, delete,change of components and connectors. They ignore obviously the role of application frameworkin reconfiguration.
4. Introduce creditability into reconfiguration of self adaptive software. About thecredibility of the software has been extended from the design phase to the run phase. Thisdissertation analyzes the credibility issues that may arise in the process of self adaptive softwarereconfiguration, and the use of the the CSP technical means and research tools to achievecredibility formal description or algorithm. This ensures that the adaptive after the software stillis to meet user expectations.
引文
[1] Robert Laddaga, Self Adaptive Software–Problems and Projects, Second InternationalIEEE Workshop on Software Evolvability (SE’06). pp3-10.2006.9.
[2] Robert Laddaga, Paul Robertson, Self Adaptive Software: A Position Paper, SELF-STAR:International Workshop on Self-*Properties in Complex Information Systems,2004.
[3] J. Kramer and J. Magee. Self-managed systems: an architectural challenge. In FOSE’07:Future of Software Engineering. pp259–268,2007.
[4] Yuriy Brun, Giovanna Di Marzo Serugendo, Cristina Gacek, Holger Giese, Holger Kienle,Marin Litoiu, Hausi Müller, Mauro Pezzèand Mary Shaw. Engineering Self-AdaptiveSystems through Feedback Loops. LNCS5525, pp48-70,2009.
[5] Betty H. C. Cheng, Pete Sawyer, Nelly Bencomo and Jon Whittle. A Goal-Based ModelingApproach to Develop Requirements of an Adaptive System with EnvironmentalUncertainty. LNCS5795, pp468-483,2009
[6] Matthias Baldauf, Schahram Dustdar, Florian Rosenberg. A survey on context-awaresystems. International Journal of Ad Hoc and Ubiquitous Computing.2(4). pp263-277,2007.
[7] Jean-Marc Jézéquel, Olivier Defour, and No l Plouzeau. An MDA Approach to TameComponent Based Software Development. FMCO2003, LNCS3188, pp260–275,2004.
[8] Andreea Vescan. Component Adaptation Architectures A Formal Approach. KES2008,Part III, LNAI5179, pp319–326.2008.
[9]康蕊、张立臣.基于AOP的QoS中间件自适应机制研究.计算机科学.35(8). pp287-289,2008.
[10]淮晓永,邹勇,李明树.一种开放混合实时系统的开放自适应调度算法.软件学报.15(4), pp487-496,2004.
[11] Paul Robertson and Robert Laddaga. Model Based Diagnosis and Contexts in SelfAdaptive Software. SELF-STAR2004, LNCS3460, pp112–127,2005.
[12]孙熙等.一种可定制的自主构件运行支撑框架.软件学报,19(6), pp1340-1349,2008.
[13] Mostéfaoui, G. K., Pasquier-Rocha, J., Brezillon, P. Context-Aware Computing: A Guidefor the Pervasive. Computing Community. In Proceedings of the IEEE/ACS InternationalConference on Pervasive Services (ICPS′04). IEEE Computer Society, pp.39-48,2004.
[14] Yun Her, Su-Kyoung Kim,Young Taek. A Context-Aware Framework using Ontology forSmart Phone Platform. JinInternational Journal of Digital Content Technology and itsApplications.4(5),2010
[15] W. Susilo, Y. Mu, and J. Seberry. ICAF: A Context-Aware Framework for Access Control.ACISP2012, LNCS7372, pp442–449,2012.
[16] Pashtan A., Blattler R., Heusser A. and Scheurmann P.,“CATIS: A Context-Aware TouristInformation System”, Proceedings of the4th International Workshop of Mobile Computing,Rostock,2003.
[17] Harry Chen, Tim Finin, and Anupam Joshi,“An Ontology for Context-Aware PervasiveComputing Environments”, The Knowledge Engineering Review,18(3), pp197-207,2003.
[18] Karen Henricksen, Jadwiga Indulska, Ted McFadden, Sasitharan, Balasubramaniam,“Middleware for Distributed Context-Aware Systems”, R. Meersman and Z. Tari (Eds.):CoopIS/DOA/ODBASE2005, LNCS3760, pp846–863,2005.
[19] Gregory Biegel,“A Programming Model for Mobile, Context-Aware Applications”, thesissubmitted to the University of Dublin, Trinity College, October2004
[20] A. K. Dey. Supporting the construction of context-aware applications. Dagstuhl Seminar onUbiquitous Computing,2001.
[21] The context toolkit. http://www.cs.berkeley.edu/dey/context.html,2012
[22] Unified Modeling Language. OMG. http://www.omg.org/spec/UML/,2012
[23] Common Object Request Broker Architecture. OMG.. http://www.omg.org/spec/CORBA/.2012
[24] Enterprise JavaBeans Technology. Oracele. Corp.http://www.oracle.com/technetwork/java/javaee/ejb/index.html,2012.
[25] COM: Component Object Model Technologies. Microsoft. https://www.microsoft.com/com/default.mspx,2012
[26] Sten Amundsen, Ketil Lund, Frank Eliassen, Richard Staehli. QuA: Platform-ManagedQoS for Component Architectures. In Proceedings from Norwegian InformaticsConference, pp55-66,2004.
[27] Coulson, G., Blair, G., Clarke, M., Parlavanzas, N., The design of a configurable andreconfigurable middleware platform, Distributed Computing Journal,15(2), pp109-126,2002,
[28] Kon, F., Roman, M., Liu, P., Mao, J., Yamane, T., Magalhaes, L.C., Campbell, R.H.,Monitoring, Security, and Dynamic Configuration with the dynamicTAO Reflective ORB,Proc. Middleware2000, New York, USA, pp121-143,2000
[29] Sumant Tambe, Akshay Dabholkar, Aniruddha Gokhale. CQML: Aspect-oriented Modelingfor Modularizing and Weaving QoS Concerns in Component-based Systems.16th AnnualIEEE International Conference and Workshop on the Engineering of Computer BasedSystems. IEEE Computer Society, pp11-20,2009.
[30]王晓燕,刘淑芬,张俊.一种基于领域模型和构件组合的软件开发框架.电子学报,37(3), pp540-545,2009.
[31] Miguel, M.A., Ruiz, J.F., Garcia, M., QoS-Aware Component Frameworks.10thInternational Workshop on Quality of Service (IWQoS’02), Miami Beach, FL, USA.pp161-169,2002.
[32] Coulson, G., Blair, G., Clarke, M., Parlavanzas, N. The design of a configurable andreconfigurable middleware platform, Distributed Computing Journal,15(2), pp109-126,2002.
[33] Mesfn Mulugeta and Alexander Schill. A Framework for QoS Contract Negotiation inComponent-Based Applications. LNCS5082, pp238–251,2007.
[34]邓小鹏,邢春晓,张勇,蔡莲红.一种面向QOS的Web服务组测试方法TF.计算机研究与发展, pp1285-1293,2009.
[35] ZHAO Wen, YUAN Chong-yi, ZHANG Shi-kun, WANG Li-fu. Research on synchronetbased service composition model and patterns. Chinese Journal of Electronics,15(4),pp608-612,2006.
[36]廖渊,唐磊,李明树.一种基于QoS的服务构件组合方法.计算机学报,28(4),pp627-634,2005.
[37]赵俊峰,王亚沙,谢冰,杨芙清.一种支持构件服务质量的构件管理框架.电子学报,32(12A), pp165-168,2004.
[38] J rg Kienzle and Rachid Guerraoui. AOP: Does It Make Sense? The Case of Concurrencyand Failures. LNCS2374, pp113-121,2006.
[39] Darijus Strasunskasa, Sari E. Hakkarainen. Domain model-driven software engineering: Amethod for discovery of dependency links. Information and Software Technology.54(11),pp1239–1249,2012
[40] Akos Ledeczi, Miklos Maroti, Arpad Bakay etc. The Generic Modeling Environment. InProceedings of WISP'2001. Budapest, Hungary,2001.
[41]刘辉,麻志毅,邵维忠.元建模技术研究进展.软件学报.19(6), pp1317-1327,2008.
[42]百度百科_设计模式. http://baike.baidu.com/view/66964.htm.
[43]张天,张岩等.基于MDA的设计模式建模与模型转换.软件学报,19(9), pp2203-2217,2008.
[44] Garlan D. Software architecture: A roadmap. In: Proc. of the22nd Int’l Conf. on SoftwareEngineering, Future of Software Engineering Track. New York: ACM Press, pp91101,2000.
[45]梅宏,申峻嵘.软件体系结构研究进展.软件学报.17(6), pp12571275,2006
[46] Shaw M. Procedure calls are the assembly language of software interconnection:Connectors deserve first-class status. LNCS1078, pp.1732,1996.
[47] first-class object. http://en.wiktionary.org/wiki/first-class_object
[48] Mehta NR, Medvidovic N, Phadke S. Towards a taxonomy of software connectors. In: Proc.of the22nd Int’l Conf. on Software Engineering. New York: ACM Press, pp.178187,2000.
[49] Wolf A L. Succeedings of the Second International Software Architecture Workshop(ISAW-2). ACM SIGSOFT Software Engineering Note. pp.42-56,1997.
[50] Mary Shaw and David Garlan, Software Architecture: Perspectives on anEmerging Discipline, Prentice Hall,2010.
[51] W. Tracz, DSSA (Domain-Specific Software Architecture): pedagogical example.SIGSOFT Softw. Eng. Notes, vol.20, pp49-62,1995.
[52]王怀民,史佩昌,丁博,尹刚,史殿习.软件服务的在线演化.计算机学报,34(2),pp318328,2011.
[53]陈火旺,王戟,董威.高可信软件工程技术.电子学报,31(12A), pp19331938,2003.
[54]杨芙清,梅宏,吕建,金芝.浅论软件技术发展.电子学报,30(12A), pp19011906,2002.
[55]谢德平,邢阳,马晓星,曹春,吕建.一种基于动态语境组装的分布式.电子学报,37(4A), pp5764,2008.
[56] Rui Moreira, Gordon Blair, and Eurico Carrapatoso. FORMAware: Framework ofReflective Components for Managing Architecture Adaptation. International Symposiumon Distributed Objects and Applications. Rome, Italy.2001.
[57] Frantisek Plasil, Stanislav Visnovsky. Behavior Protocols for Software Components. IEEETransactions on Software Engineering,28(11), pp1056–1076,2002.
[58] Dowling J, Cahill V. The K-component architecture meta-model for self-adaptive software.In: Proc. of the Int’l Conf. on Metalevel Architectures and Separation of CrosscuttingConcerns. pp8188,2001.
[59]彭鑫,赵文耘,钱乐秋.基于领域特征本体的构件语义描述和组装.电子学报,34(12A), pp2473–2477,2006
[60]何成万,张立军,张慧.基于元数据和反射的面向方面软件演化方法.电子学报,39(8), pp1771–1777,2011.
[61]曾晋,孙海龙,刘旭东,邓婷,怀进鹏.基于服务组合的可信软件动态演化机制.软件学报,21(2), pp261276,2010.
[62] Garlan D, Cheng SW, Huang AC, Schmerl B, Steenkiste P. Rainbow: Architecture-Basedself-adaptation with reusable infrastructure. IEEE Computer,37(10), pp4654,2004.
[63] Peyman Oreizy, Michael M, etc. An Architecture-Based Approach to Self-AdaptiveSoftware. IEEE Intelligent Systems and their Applications,14(3):54-62,1999.
[64] Hoare, C. A. R.. Communicating Sequential Processes. Prentice Hall.
[65]刘栋,孟祥武,陈俊亮,夏亚梅.上下文感知系统中的规则生成与匹配算法.软件学报.20(10), pp2655-2666,2009
[66] Mesfn Mulugeta and Alexander Schill. A Framework for QoS Contract Negotiation inComponent-Based Applications. CEE-SET2007, LNCS5082, pp238–251,2008.
[67] Jean-Marc Jézéquel, Olivier Defour, and No l Plouzeau. An MDA Approach to TameComponent Based Software Development. FMCO2003, LNCS3188, pp.260–275,2004.
[68]廖渊,唐磊,李树明.一种基于QoS的服务构件组合方法.计算机学报.28(4),pp627-634.2005
[69] Lei Yang, Yu Dai, Bin Zhang, and Yan Gao. QoS-Driven Composite Web ServicesSelection. ASIAN2005, LNCS3818, pp.265-267,2005.
[70](澳)尼格尼维斯基著,陈薇等译.人工智能:智能系统指南.北京:机械工业出版社.2012.8
[71]伽玛等著,李英军等译.设计模式:可复用面向对象软件的基础.北京:机械工业出版社.2005.6