自适应软件关键技术探析

自适应软件关键技术探析

ID:46822103

大小:62.00 KB

页数:5页

时间:2019-11-28

自适应软件关键技术探析_第1页
自适应软件关键技术探析_第2页
自适应软件关键技术探析_第3页
自适应软件关键技术探析_第4页
自适应软件关键技术探析_第5页
资源描述:

《自适应软件关键技术探析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、自适应软件关键技术探析摘要随着模拟对象的复杂化,软件自身也H益复杂,需要具备灵活主动适应环境的能力,构造自适应软件势在必行。自适应软件可以评估自身的行为,当评估结果显示无完成软件意图,或可以获得更好的功能或性能时,它将改变自己的行为。本文从自适应软件的概念出发,探讨了构造自适应软件的关键技术。【关键词】口适应软件关键技术1自适应软件软件自适应是指为了保证持续高质量地提供服务,软件在运行时检测坏境变化和自身状态,据此对自身行为进行主动调整的活动。能够实施自适应活动的软件称为自适应软件。传统软件只能具有明确定义的输入输出,自适应软件却可根据环境变化和自身状态调整它的行为。自从提出软件自适应的概念以

2、來,软件自适应口益成为业界的研究热点,究其原因在于软件与当今世界的结合日益紧密,在于复杂的世界使得软件也越来越复杂,迫使软件具冇自适应能力,及时发现问题并自动修复。2自适应关键技术1968年计算机科学家提出了“软件危机”这一概念,软件危机主要表现在这几个方面:软件成本口益增长;开发进度难以控制;软件质量差;软件维护困难。造成软件危机的原因很多,根木原因在于软件自身所具有的复杂性,主要体现在:软件规模的复杂性、结构的复杂性和环境与应用领域的复杂性。为了应对软件危机的挑战,科学家提出了软件工程的概念。软件工程是将工程化应用于软件开发,运用系统的、规范的和可定量的方法开发、运行和维护软件。随着应用场

3、景的变化与自身复杂性的增加,软件需要具备主动适应环境变化的能力。如何系统地构造自适应软件,是软件工程领域的巨大挑战。2.1AOP技术面向对象程序设计思想(Object-OrientedProgramming,简称OOP)简化了程序设计逻辑,缩短了开发周期,软件开发人员可用一组対象及其关系将软件系统形象地进行表示。当前OOP是主流的程序设计范型,然而面向对象本质是静态的、封闭的,任何需求的细微变化都可能对开发进度造成重大影响,当対跨越多个模块的行为进行建模时OOP就陷入困境。面向方面编程(Aspect-OrientedProgramming,简称AOP)正好可以解决该问题。AOP技术通过编写横切

4、关注点的代码,也即“方面”,分离出通用的服务以形成统一的功能架构。AOP横切技术分为动态横切和静态横切。AOP技术更利于创建松散耦合、可复用于可扩展的大型软件系统。AOP技术给人们提供了一个崭新的视角分析和设计软件系统,引入分离关注点形成模块化的机制,能很好地解决横切关注点问题。AOP很好地弥补了OOP的不足,提高了软件模块自左至右的适应性,是日前软件界关注的热点。但由于出现较晚,仍然存在很多问题亟待解决。2.2计算反射技术自适应软件本质上是一个通过对自身进行反射来改变莫行为的系统。计算反射来源于人工智能,认为系统只有具有自我感知与控制能力才能适应变化的环境。计算反射技术是提高软件系统灵活性、

5、可扩展性的重要技术,提高了软件系统的自适应能力。开放实现是计算反射的前提,底层系统允许程序员根据特定应用进行剪裁、访问和控制,促使整个软件系统动态演化,即称该系统为开放实现。开放实现有三个层次:内省、调用和调解。只有在开发实现的前提之下,计算系统才能动态地适应环境。从反射内容而言,计算反射分为结构反射和行为反射。从反射结构而言,计算反射分为过程式反射和宣言式反射。从猪主语言来看,计算反射又可分为解释型反射和编译型反射。当前主流的面向对象语言・Net与Java都引入了反射机制,说明计算反射技术已然融入软件开发的主流技术Z中。近年来兴起的AOP技术也很好地支持计算反射技术。2.3中间件技术屮间件处

6、于操作系统软件和用户应用软件的屮间,为处于上层的应用软件提供运行开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。中间件能屏蔽操作系统和网络I办议的差异,为应用程序提供多种通讯机制和平台以满足不同的需要。中间件可分为终端转换中间件、数据访问中间件、消息中间件、对象中间件等。中间件的基本思想是抽取软件构造屮的共性问题,封装其解决机制,对外提供简单统一的接口,从而减少开发人员在解决这些共性问题时的难度和工作量,极大提高软件的复用性。中间件代表应用的部分实现,提供实现通用功能的公共代码,中间件代码可被有选择性地复用或扩展,从而使得开发者可以构造面向特定领域的应用程序。2.4软件检测技术软件测

7、试是在目前形式化软件开发方法不能满足软件工程化开发要求时用于保证软件质量的重要手段。软件检测技术早期用于程序调试,目前广泛应用于软件调优、质量评估、软件维护等方面。随着应用领域的变化,检测粒度也从代码级扩展至构件、服务以及结构层次;检测层次跨越OS操作系统、虚拟机、中间件等多个层次;检测实现从单一进程向多进程以及多处理机形式过渡。软件检测技术大大提高了软件的自适应能力。3结语随着模拟对象的复杂化,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。