前言:中文期刊网精心挑选了软件体系结构范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
软件体系结构范文1
[关键词]软件工程 开放式数控 集成系统
目前,软件体系结构(software architecture)已经成为新一代数控技术的研究热点,许多国家和研究机构在这个领域都开展了深入的研究。已经越来越受到研究者和实践者的重视,并成为软件工程的一个重要的研究领域。在软件开发过程中,软件体系结构提供系统的高层抽象、支持开发人员之间的交流、支持软件复用等,因而体系结构的设计在软件生命周期中起到关键作用。体系结构设计本身是一个不断做出决策的过程,产生大量的推理信息。
一、自动测试系统软件体系结构
目前通用自动测试系统的软件体系结构主要依据IEEE的宽域测试环境标准。ABBET将测试系统划分成5个层次:产品描述层,测试需求/策略层,测试程序层,资源管理层和仪器控制层。并行自动测试系统具有串行自动测试系统的基本特性,其核心测试过程与串行自动测试系统的核心测试过程是一致的,因此,并行自动测试系统的软件体系结构也采用层次化的体系结构风格。
自动测试系统软件体系结构与传统串行自动测试系统的软件体系结构的不同在于其任务,资源管理层更加复杂。由于多任务的并行执行,在这一层中不仅资源管理的功能需要扩展,以满足测试资源安全共享的要求,还需要对测试任务进行管理,根据任务过程模型和任务调度模型合理调度任务的执行。
二、开放式数控的软件体系结构
数控系统是一个具有实时性和多任务性的专用操作系统。从功能来看,系统的任务可以分为管理任务和控制任务两大类。管理任务主要完成系统资源管理和系统各子任务的调度,负责系统的程序管理、显示和诊断等子任务;控制任务主要完成数控系统的基本功能,包括译码、刀具补偿、速度预处理、插补运算和位置控制等子任务。如图1所示。
资源分时共享主要采用的方法是循环轮流和中断优先,如图2所示,系统在完成初始化工作以后自动进入时间分配环中,在环中依次轮流处理各任务,对于系统中一些实时性很强的任务则按优先级排队,分别放在不同的中断级别上。
三、COTS软件系统的软件体系结构
软件体系结构是由一些实体和这些实体间的关系所构成的模型,在体系结构观点中实体是所关心的元素,它们可以是软件组件、源文件、目标文件、编译器、平台等;关系可以用描述连结性、动态行为或者所关心的依赖性的任何其他类型 。体系结构中所使用的特殊的实体和关系取决于建造者试图传送的信息。
COTS 软件系统的开发本质上是集成黑盒软件组件的问题。这种集成过程是困难的,它容易出错,需要大量的编码,难以测试和调试。此外,许多COTS 组件都有高的短暂性,商业组件通常要频繁升级,这些升级可能没有增加集成者所希望的功能,或修复集成者所希望的错误。存在于先前版本中的关键功能可能在随后的升级版本中被除去。在有些情况下,集成者可能希望用不同供应商的新版本的类似组件替换老组件。在COTS 软件系统中,体系结构的设计合适与否直接关系到软件的成功,因为体系结构是系统实现的蓝图,为组件的集成提供了上下文,很大程度上决定了系统的各种性能。在COTS 软件系统中,体系结构中的实体就是COTS 组件,关系用以描述集成机制。
现今新的技术层出不穷的情况下,准确地把握系统当前的行为,能够让开发人员和维护人员尽快地进行技术上的调整,而能保持原有的行为效果不变。这对于节省开销,保持程序的稳定性都有重大的意义。在今后的研究工作中,将着力于改善方法中对于接口信息的定义形式,使其能提供更强的描述功能。此外,还将尝试引入一定的动态分析工作,这有助于为我们方法提供对象在动态运行时的变量信息,根据这些信息对对象的行为方式进行更深人的分析。
参考文献:
[1]Yang Jinlin:Evans n Dynamically Inferring Temporal Proper―ties[C] }Proc.the ACM-SIGPLAN-SIGSOFT Workshop onProgram Analysis for Software Tools and Eng]neering.2004:23―28
[2]Yuan Hai Xie Tao:Automatic Extraction of Abstract―object―state Machines Based on Branch Coverage[C] {Proceedings ofthe 1st International W orkshop on Reverse Engineering To Re―quirements at WCRE 2005(RETR 2005).November 2005:5-11
[3]黄洲 彭鑫 赵文耘:基于依赖性分析的对象行为协议逆向恢复[J].计算机科学,2008,35(8):265―268,276
[4]Tang Mei-huei,Wang Wen-li,Chen Mei小wa.A UML Approachfor So ftware Chang e Modeling.CS.albany.edu
[5]http:∥compilers.as.uclm edu/jtb/jtb-2003
[6]javac~dev.java net
软件体系结构范文2
关键词:软件体系结构;描述语言;设计
软件体系结构开发是大型软件系统开发的关键环节。软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。本文主要从软件体系结构一些理论知识进行了阐述。
1.软件体系结构描述语言
软件体系结构描述在软件工程师提高软件系统的描述和理解能力方面起着非常重要的作用,但是现在的描述基本上都比较随意且非形式化。对体系结构设计进行形式化分析和模拟是非常困难的,同时构架师在完成设计工作时也缺乏相应的支持工具。所谓体系结构描述语言(Axehitecture Deseri Ption Language,ADL)就是指为了解决上述问题,用于描述和推理的形式化语言得以发展。软件体系结构设计的可理解性和重用性是体系结构描述语言所寻求的。体系结构描述语言刻画体系结构的概念框架主要通过提供具体的语法来实现,使得系统开发者设计的体系结构能够更好地被他们所描述,以便与他人进行交流。提供一种规范化的体系结构描述是体系结构描述语言的主要目的,这样体系结构的自动化分析实现的可能性更大。软件体系结构还有统一的定义,本文中所提的定义是普遍的一种,那么体系结构描述语言也存在很多定义。目前比较广泛的认可定义是:ADL是一种为概念体系结构提供描述机制的语言。但这样的定义太笼统,所以还给出了进一步的要求:ADL必须提供对组件、连接件和体系结构配置的支持,至少组件必须有接口,配置的定义必须和连接件分开。
2.软件体系结构设计
2.1数据流风格的结构
数据流风格的结构可以很清楚地找到数据流,在数据流路线上,处理过程遵循“自顶向下、逐步求精”的原则。处理过程是不依赖于数据到来的顺序,而是依赖于执行过程。批作业序列风格、管道/过滤器风格是最典型的数据流风格。在管道/过滤器风格的软件体系结构中,每个构件都会存在一组输入和输出,输入的数据流通过内部处理产生输出数据流。完成这个过程通常通过对输入流的变换及增量计算来进行,因此,输出在输入被完全消费之前就产生了,即 这构件就是过滤器。此风格对于过滤器的独立的实体比较注重。过滤器进行增量计算过程的顺序不能影响一个管道/过滤器网络输出的正确性。管道/过滤器风格的体系结构具有以下特点:(1)组件具有良好的隐蔽性和高内聚、低耦合的特点。(2)允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成。(3)支持软件复用。(4)支持并行执行。
2.2仓库风格的体系结构
在仓库风格中,组件有两种,分别为中央数据结构和独立组建,前者用于说明当前状态,后者在中央数据存贮上执行,在系统中,仓库和外组件间的相互作用会有很大的变化。选取的控制原则产生两个主要的子类。若输入流中某类时间触发进程执行的选择,则仓库是一个传统型数据库;系统中的组件通常包括数据存储区,以及与这些存储区进行交流的进程或处理单元,而连接器则是对于存储区的访问。这类系统中,主要是通过共享的数据存储区来完成数据处理进程之间的联系。另一方面,若中央数据结构的当前状态触发进程执行的选择,则仓库是一黑板系统。黑板系统主要由三部分组成:(1)知识源。知识源是不直接进行通讯的,它是通过黑板来完成之间的交互,知识源主要包含独立的、与应用程序相关的知识。(2)黑板数据结构。知识源通过不断地改变黑板数据来解决问题,黑板数据组织的解决问题的数据是按照与应用程序相关的层次来进行的。(3)控制。控制完全由黑板的状态驱动,黑板状态的改变决定使用的特定知识。可扩充性比较强、模块间耦合比较松散是仓库风格构架的显著优势。
2.3调用/返回风格的体系结构
在大型软件开发中,调用/返回风格的体系结构就是其主流风格的体系结构。在此系统中,调用/返回关系较明确,其风格可分为:主-子程序风格,面向对象概念中的对象体系结构风格,层次型系统风格。(1)主-子程序风格体系结构主要在结构化程序设计当中应用,它是一种经典的编程范型。将程序划分为若干个小片段是此体系的主要目的,大大提高了程序的可更改性。主-子程序体系结构的主程序位于一层,可以再在下面划分一级子程序,甚至更多,由此可知,其具有一定的层次性。在这里值得注意的是主-子程序体系结构风格是单线程控制的。在相同的时间点上,父亲结点控制只有一个孩子的结点的子程序。(2)对象风格的体系结构。抽象数据类型概念对软件系统有着重要作用,这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应操作封装在一个抽象数据类型或对象中。这种风格的组件是对象,对象是一种被称作管理者的组件,因为它负责保持资源的完整性(例如实现对属性,方法的封装)。对象是通过函数和过程调用来交互的。(3)分层风格的体系结构是将系统组织成一个层次结构,每一层为上层提供服务,并作为下层的客户端。层之间的连接器(conector)通过决定层间如何交互的协议来定义。由于每一层最多只影响两层,每层可以用不同的方法实现,为软件复用提供了强大的支持。
软件体系结构范文3
信息化时代使计算机得到了大范围推广和运用,而在计算机科学技术的发展影响下,软件体系结构也呈现出日益复杂的趋势,在软件设计中,软件体系结构对软件有着指导与控制的作用,组件在软件技术中有着非常重要的影响。本文主要对软件设计中软件体系结构与组装进行研究,讨论软件体系结构与组件的原理与意义,通过其所具备的特点进行分析,探讨软件体系结构与组装软件工程在软件设计与开发中的作用与发展前景。
关键词:
软件体系结构;组件;软件工程
近年来,信息化的急速发展使计算机与网络得到了普及与使用。而在计算机与软件行业,技术的发展更为迅速,各类应用技术不断的出现,带动了行业的发展,但是在发展的同时,还有大量的遗留系统的存在,这在一定程度上影响了现有的软件系统的发展。在此行业内,计算机技术与软件技术一直是业内人员所研究的问题,而软件体系结构与组装软件工程在软件技术中占据着非常重要的地位,其为软件的设计、开发、应用起到了指导的作用,也为软件的开发带来了一定的转变。
1软件体系结构与组件技术
大规模工程软件系统与小规模程序设计存在着根本区别,一条程序语句不足以作为开发单位,而组件必须成为构造软件的模块。基于组件的软件开发已成为一个热门研究领域,获得商业界的关注,并产生了几个组件互操作性模型。这些模型能帮助实践者处理越来越复杂的软件系统。软件作为一种程序语言的体现者,其具有一定的复杂性,在软件的开发中,软件体系结构作为一种控制软件的手段,其可以在一定程度上解决软件复杂性所带来的问题。在软件体系结构的使用中,可以将软件之间的相似性、通用性、潜在性都进行整合,利用软件体系结构可以使软件的开发与设计有一定的基础,而不是从零开始摸索与创建,这在一定程度上节约了在软件程序的开发上所需要应用的时间与成本。为此,体系结构显式给出软件系统的结构,将系统中的组件计算与它们之间的交互分离开来,在任何改变影响实现之前,提供了可供管理和分析系统的高级模型。在理论上,软件体系结构所具备的是对软件的一种理论性的、完善的组件工程,其核心内容是使组件在设计、配置等方面有更高层次的开发与应用,是为了实现组件理论上开发的定义。它们是用已有的组件来开发复杂系统的两个不同方面。软件体系结构是可重用软件组件的一种自然补充,已有的组件中间件技术是以组件为中心的,着重对外部组件属性进行标准化;软件体系结构是以系统为中心的,更强调连接和作为一个整体的系统的属性。
2复合软件体系结构要求
2.1允许各个风险承担者之间对系统进行通信。风险承担者包括顾客、设计师、管理者、组件开发者、系统集成人员、用户等等。允许在高于源程序的抽象级上理解系统,对系统进行推理,更接近风险承担者心目中的系统模型。
2.2减少“问题”空间中的系统需求与“方法”空间中的软件设计之间的鸿沟。支持重用与应用程序家族,将遗产项目中的成功设计和进化属性转换为代码。
3组件技术协调软件体系结构
已有的组件中间件技术,如CORBA,ActiveX和JavaBeans,是以组件为中心的,主要关注标准化外部组件属性—接口、封装、绑定机制、组件内通信协议及关于运行时环境的期望。相反,软件体系结构及其风格以系统为中心,集中定义黑盒组件通信的系统,分析最后得到的系统的属性,产生“胶水”代码绑定系统组件。组件中间件技术和软件体系结构都是基于组件的软件开发的关键因素,然而在这两个领域之间存在着惊人的有限的交互。不同的焦点暗示了跨越这两个领域之间鸿沟的可能:使用已有的组件中间件技术来实现用体系结构技术建模的系统。
4组件对体系结构的要求
组件的应用受到多方面因素的影响,而软件体系结构只是其中的一种,而为了保证组件在市场中的价值与应用的成功,其主要的体系结构因素有以下几种。
4.1多种组件粒度。体系结构底层结构必须既支持小组件,也支持大组件,从简单的数据结构到大规模的数据库。然而大多数较大的组件无疑是用较小的组件构造的,较大的组件能够为设计者提供更有意义的功能封装。
4.2组件可替换性。在体系结构中,其中的底层结构要保证组件之间的可替代性,在结构中,可以应用与原有的组件等价的组件进行组件之间的替换与删除。
4.3用多种程序设计语言开发组件。由于不同的程序设计语言具有不同应用领域,再加上新的语言层出不穷,体系结构底层结构必须支持用不同的程序设计语言开发组件。
4.4用户接口合成。有许多组件并没有用户接口,而一些领域和组件具有一成不变的用户接口。体系结构底层结构必须支持将多个组件用户接口复合成单个统一的完整的用户接口。
4.5组件的简单分布。在软件体系结构中,体系结构对底层结构的要求是达到其在理想情况的设计下进行简单的分布,这样有利于在实际的底层结构封装与分布的多样性与简易性。同时,在市场的要求下,组件的简单分布可以满足在使用时所应用的进行相关的组件任务。
5应用软件体系结构与组件技术的优点
为了促使软件开发有更良好的基础,软件体系结构与组件技术应具有的相应完善的特点来作为软件开发与维护的指导依据,现举例分析内核的应用,其主要内容有以下几点。
5.1精巧的内核。如上文所述,应用软件是非常复杂且庞大的系统,因此在软件的开发与维护中要严格依据开发标准,而为了节省工作量,应利用精巧的内核作为软件功能的集成体,从而减少工作的复杂性。在用户的使用过程中,对计算机功能与软件的应用并不是都需要软件程序中的复杂扩展,因此,利用精巧的内核可以在很大程度上简化用户的使用操作,方便应用软件,同时在应用内核时需要依据用户的需要对内核的拓展内容进行添加,避免出现不必要的程序。
5.2扩展能力。扩展能力是建于内核的基础上,对内核添加集成式的特性,将扩展集应用于内核中,帮助其增加新的扩展特性,从而在用户的需求上添加相应的应用软件的需求。
5.3减少对资源的占用。在应用软件中,每一种特性都对资源有一定的占用,而利用内核的方式可以减少此类资源的占用率,从而方便使用。组件技术以其众多的优点正逐渐走入业界人士的眼中,而随之为软件体系结构带来的变革必将会为软件的整体效能提高、软件的划时展带来新的支持。
6结束语
在现今的信息化时代,软件工程的应用与发展有着广阔的前景,同时,软件工程的发展需要在软件开发中不断的探索,追求进步,促使计算机的功能与网络技术在人们的生产生活中的作用可以达到最大化。软件的开发与拓展是非常复杂的工程,其发展与创新离不开软件体系结构的指导与组件技术的应用。在软件体系结构与组装软件工程中还存有一些不足之处需要改进,这就需要技术人员在此行业中不断的创新与发展,为软件的开发与使用奠定良好基础。
参考文献:
[1]应俊.软件体系结构和组件软件工程的分析[J].数字技术与应用,2015(8).
软件体系结构范文4
关键词: 软件体系结构定义风格类型
一、什么是软件体系结构
在所有对于软件体系结构的定义中,我认为最有代表性的就是Hayes Roth所提出的:“认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。”这样的定义,我认为从根本上描述了软件体系结构所要做的事情,是一个很概括的规范化公式。与此同时,在定义各式各样的“构件”的时候,人们似乎一直在默认Dewayne Perry和A1ex Wo1f的定义,也就是:“软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。”这一定义将处理构件、数据构件和连接构件区分了开来,明确了这三者在软件体系结构中的组件性质,将这三者视为软件体系结构的标准组成及探讨对象。
在此基础上,反复提到的则是Mary Shaw和David Garlan所提出的:“软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等。”这样的定义,我认为进一步地提出了软件体系结构的地位和所研究内容的具体情况,它提出了一个对于“控制”和“协议”的具体化要求,在以上定义的基础上强调了软件体系结构对于构架的调配和规划功能,细分了软件体系结构的内容。
除去Kruchten对于软件体系结构“四个角度”,即概念角度、模块角度、运行角度、代码角度的定义,以及Barry Boehm和他的学生提出的关于强调“互联及约束的集合”的概念之外,还有其他的定义方式。如Bass,Ctements和Kazman在1997年的《使用软件体系结构》书中提出的:“关于一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。”其强调了“软件外部的可见特性”,是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。这一定义的特点在于把软件体系结构提升,或者也可以说是限制在了软件的“表征特性”上,这使得软件体系结构有了更紧缩、健康的概念。
我在思考对于软件体系结构的定义的时候,并没有一个标准的答案,因为我在拜读其他名家的定义的时候发现,它们有着很多相似之处,也各自有着突出的特点与不足,这使得我无论是出于尊敬还是出于对自己认识层次的保留,都不愿意给出一个自己所谓的“定义”,但是可以说的是,所谓软件体系结构,是一种思想方式,也是一种分析方式和控制方式,这种方式的对象,是软件(广义)的——主要是创建过程中的—结构和统一规范的建议,其表现形式是构件化的描述体系。这样的一种理解方式,也就是我上面所提及的在前辈们定义的软件体系结构中的三个要素:(1)构件性——软件体系结构由三个构件组成:处理构件、数据构件和连接构件;(2)控制性——软件体系结构的作用是在“控制”和“协议”层次上;(3)表征性——软件体系结构的对象,是“软件外部的可见特性”。
二、常见软件体系结构风格
所谓软件体系结构风格是指:“描述某一特定应用领域中系统组织方式的惯用模式。”它反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。按这种方式理解,软件体系结构风格是指:“定义了用于描述系统的术语表和一组指导构件系统的规则。”对软件体系结构风格的研究和实践促进了对设计的复用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。体系结构风格的不变部分使不同的系统可以共享同一个实现代码。只要系统是采用常用的、规范的方法来组织,就可使别的设计者很容易地理解系统的体系结构。
软件体系结构风格有很多种,现在我主要分析的是Mary Shaw和David Garlan所提出的五种主要风格类型,也就是:(1)数据流风格,包括批处理序列,管道/过滤器形式等;(2)调用/返回风格,包括主程序/子程序,面向对象风格,分层结构等;(3)独立组件风格,包括进程通讯,事件系统等;(4)虚拟机风格,包括解释器,基于规则的系统等;(5)仓库风格,包括中心数据库系统,黑板系统等。
这五种风格各有各的特点,也有共同之处,下面我将逐一分析这些风格。
1.数据流风格
这是一种最常见、结构最为简单的软件体系结构。在这样的结构体系下,所有的数据按照流的形式在执行过程中前进,不存在结构的反复和重构。在流动过程中,数据经过序列间的数据处理组件进行处理,然后将处理结果向后传送,最后进行输出,这也就是说,最简单和直接的数据流风格是单向的,没有返回的流水线系统。但是在实际应用中,并不一定限制数据处理组件的顺序,其运算的先后顺序不影响最终系统结构的正确性。这种风格很容易用管道/过滤器的形式(见下图)来解释。
上图所表示的就是一个管道/过滤器的形式,我在随处可见的理论图的原型基础上只保留了其中必要的过滤器块,而用三种不同形式的数据流表示了数据的行进过程,这三种情况分别是单向流水、非顺序流水和回流。其中:
表示了一种正向的流水方式,也就是最常见的、最直观的数据流方式,在这种方式中,正向数据管道引导数据的正向流动,在此时,我们可以将整个的上方三个过滤器所组成的正向通道作为一个完整的“管道”,这是一种广义的管道。此时,数据从左方,也就是管道的入口处进入,再经过过滤器的处理,最终由“管道”的结尾处流出。
表示了一种打乱(更改)了顺序的管道方式,交换了其中两个过滤器的顺序,这样的结构在实际中是允许的,并且不影响管道/过滤器输出的正确性。其前提条件是,每个过滤器必须是独立的实体,它不能与其他的过滤器共享数据,而且一个过滤器不知道它上游和下游的标志。同样,也可以把这样的结构视为广义的“管道”。
软件体系结构范文5
关键词:可信计算;食品安全;三流一体化;可追溯体系;软件体系结构
中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)10-2398-03
Research on Software Architecture of Food Safety Traceability System Based on Trust Computing
CAO Ting, WANG Yan-xing
(College of Computer, Beijing University of Technology, Beijing 100124, China)
Abstract: Food safety is currently the focus of attention of the community problems. Food safety is the focus of current social problems concerning people's livelihood and we need to solve it in a timely and secure manner. Currently the existing food safety traceability system only rests on the trale of the information. So the realization of information transmission and circulation of the process that will not be tampering is an urgent problem to resolve. In this paper, taking meat for example, the credibility of the theory is applied to computer software system to work out a third-rate integration of multi-layer software architecture, which opened up a new idea for delivering the information in the food distribution safely and reliably.
Key words: trusted computing; food safety; three flow conformity; traceability system; software architecture
目前中国的肉类生产事故发生频繁,现状不容乐观,从畜禽养殖、屠宰加工到最终消费的整条食物链均有涉及。从口蹄疫禽流感到瘦肉精事件,从加工生产病死畜禽到注水肉和毒火腿事件,肉类产品质量安全问题时有发生,从而导致消费者对肉类产品的信心明显不足[1]。由此可见,建立合理有效的肉类食品安全可追溯体系势在必行。
目前国内现有的追溯系统或者追溯工程最主要的问题是停留在信息的追溯上,但在食品安全追溯体系中信息的追溯仅仅是一方面,更重要的是保证信息传递的可信,也就是信息在传递和流通过程中不被篡改,这是食品安全追溯的最关键问题。提出三流一体化的体系结构是保证信息的可信传递的一个重要途径,建立功能完善、具有较高复用性的三流一体的食品安全追溯体系结构模型,并对其功能要素和非功能要素进行评估,既解决了信息流通和传递过程中的可信度量,又为系统在更大范围内应用提供了技术保障和理论支持。
1 可信计算对安全机制的保障与完善
1.1 可信计算的定义
各领域的专家分别从提供服务、关键要素以及行为目标的角度对可信进行了定义,总体来说,这些定义包含以下共同点[2]:
1)计算机系统所提供的服务是可靠的,而且这种可靠性是可以论证的;
2)目标是满足客户的信任,涉及安全性、隐私性、可靠性及商业信誉四个关键要素;
3)一个实体是否可信,取决于它是否始终沿着预期的方式(操作或行为)达到既定目标。
1.2 可信计算与安全的关系
可信计算和安全互为补充,相互依赖,可信计算弥补了安全机制根基不牢的缺陷,而安全机制又能够为可信计算提供辅助支持,使得可信计算在复杂环境下也切实可行,能够为上层提供服务。因此在设计重要信息系统的安全体系结构时,必须将可信计算和安全紧密结合起来,共同为系统安全服务。
1.3 相关理论模型
1)可信链传递模型
可信链传递是从一个可信的主体出发,通过一种可靠的方法(算法)确定主体周边客体的确切属性,从而获知主客体构成的系统功能是安全的[3]。在可信计算平台中,信任链的建立与传递涉及到三个基本的概念,一是信任根;二是可信传递;三是可信测量[4]。
2)无干扰模型
信息流的无干扰的思想最早在1982年由Goguen和Meseguer提出。其思想可以理解为:如果一个主体s1对另一个主体s2所能看到的和所能做的没有影响,则称主体s1对主体s2无干扰[5]。
3)干扰发现机制
所谓干扰发现机制,就是当度量范围内出现干扰时,干扰发现机制可以及时发现,给出相应的处理,以保证能够建立食品安全流通可追溯系统的信息环境。
三流一体化的软件体系结构正是基于以上几个理论模型提出的,通过建立一体化模型找出或屏蔽干扰,确保这个股食品流通节点处于可信状态,有效地解决了系统的安全和信息传递的可信度量等难题。
2 三流一体的多层软件体系结构
2.1 三流的定义
所谓三流,就是指物流,信息流和控制流。
物流:指猪肉从猪仔到成为客户餐桌上的猪肉的过程中相关产品(如猪仔、白条、副产品等等)的流通过程。
信息流:指猪肉在养殖、屠宰加工和销售各阶段的相关属性信息。包括两类信息,一类是追溯信息,用于追溯食品的来源;另一类是基本信息,用于记录生产者、经营者、消费者以及商品本身的具体状况。
控制流:控制流是在猪肉商品流通环节中对信息实现控制的过程,通过采取适当的控制手段,保证在食品流通过程中每一步操作的合法性,合理性及安全性。
2.2 三流之间的关系
在现有的食品追溯系统当中,通常物流和信息流是彼此独立的,无法保证在物流的某一环节信息的安全可信、不被篡改。在将要建立的体系结构模型中,通过增加控制流,对物流和信息流的信息在各环节实施监控和管理,既保持了物流和信息流原本形式上的相互独立性,又增强了三流相互间的内在联系,使其形成一个整体。
2.3 三流一体化流程的应用案例
本案例从猪的养殖阶段出发对三流一体化的含义及特点进行了阐述。物流过程主要包括购买饲料和药物,猪仔入舍,子猪和育肥猪饲养,猪的出场和运载。这一阶段追溯信息的主要载体是猪耳标,控制流包括采购信息管理,饲养信息管理,追溯信息管理,同步监测管理,检疫台账管理,此阶段三流一体化流程如图1所示。
2.4 可信思想在构件设计中的应用与体现
从食品安全可追溯系统的业务需求出发,在养殖、屠宰加工、销售阶段以及连接各阶段的中间环节抽象出所需的构件,这些构件同样遵循三流一体化的思想,可划分为物流构件,信息流构件和控制流构件,如图2所示。
控制流构件包括收购台账核销管理、批发台账核销管理、屠宰核销、零售核销、身份验证等。码的分配与控制为系统提供了信任根――追溯码,通过核销算法确保信息在每一阶段传递的一致性和可控性。系统中一旦出现数据丢失或前后不一致,就会立即做出提示,避免给消费者带来损害,也就是干扰发现机制原理在此案例中的重要体现。
2.5 基于构件技术的三流一体化软件体系结构
本系统的设计以多层软件体系结构作为整体构架[6],包括用户界面层、业务逻辑层、通用操作层、数据接口层以及数据层[7]。
其中,用户界面层由界面对象(UI对象)组成,是人机进行交互的接口,对应于用户的需求,并负责触发业务事件以启动业务逻辑;业务逻辑层是应用软件系统的主体,负责处理所有与业务逻辑和业务规则直接相关的操作;通用操作层为业务逻辑层提供一些常用的功能;数据接口层需要了解数据库服务器的类型和它的语义接口,屏蔽具体数据库服务器之间的差异,从而提高应用程序的可移植性和适应性;数据层是应用软件系统的最底层,负责基础数据和商业数据的存放和管理,并对这些数据的完整性、一致性提供保证。
肉类食品安全追溯系统的多层软件体系结构图如图3所示[8]。
2.5.1 业务逻辑层信息传递的安全性
1)各子系统间核销
由于本系统包含多个子系统,因此系统间的信息传递是否符合可信链传递模型的要求,是体系结构安全和可信度量一项重要的指标。在养殖和屠宰子系统间的核销功能是通过耳标信息管理构件和RFID卡信息管理构件实现的,此构件间的信息核对保证信息在两种状态间的流通的完整性和一致性。
2)码的加密和解密
通过参考现有类似产品的追溯码结构,拟对猪肉食品追溯码采用全球贸易项目代码(GTIN)+批号/系列号+源实体参考代码。 在设计追溯码的过程中应用较缜密的合理的加密和解密技术,以及必要的断码的复原技术,可以排除商品流通过程中被恶意销毁和篡改,这是无干扰理论在控制流中的重要体现。
2.5.2 数据接口层和数据层的安全性
1)身份认证
所有操作人员访问系统数据必须经过开机口令、操作系统口令、应用程序口令、数据库访问口令检测,系统根据客户机的IP地址、操作员工号/口令、帐本/仓库号等对该用户的操作进行严格的限制。
2)存取权限控制
对数据库中的数据操作一般有输入、查询、编辑、删除四种情况,按照以上操作类别将用户划分为四个权限等级,各操作人员只能对自己权限范围内的数据进行权限范围内的操作。
3)结论
基于可信计算思想的食品安全追溯系统多层软件体系结构这一崭新课题的提出,必将为发展和完善食品安全可追溯体系提供切实可行的新思路,当然,要把此体系结构完整地实施到现实食品安全可追溯系统中还需要很长的路要走,还必须依赖于人才的培养和经费的支持。
参考文献:
[1] 伊铭.中国食品流通安全发展现状研究[J].上海经济研究,2008(7):62-67.
[2] 沈昌祥,张焕国.信息安全综述[J].中国科学,2007,37:129-150.
[3] Chen Youlei.Study on trusted computing model and architecture[D].Wuhan:Wuhan University,2006.
[4] 谭良,徐志伟.基于可信计算平台的信任链传递研究进展[J].计算机科学,2008,35(10):15-18.
[5] 马建平,余祥宣,洪帆,等.一个完整的无干扰模型[J].计算机学报,1997,20(11):1034-1037.
[6] 蔡.基于构件的N层体系结构研究与应用[D].北京:中国地质大学,2004.
软件体系结构范文6
关键词:体系结构;软件可靠性;分析
中图分类号:TP311文献标识码:A文章编号:1007-9599 (2010) 10-0000-01
Software Reliability Analysis under System structure
Zhang Jian,Ye Feng
(Information Equipment Department of Equipment Command&Technology College,Beijing101416,China)
Abstract:With the global software development industry continues to develop,and the emergence one new model of software testing and application,modeling the software architecture,software reliability can articulate the results of tests,and for the study and improvement of software reliability also has certain promotion significance.
Keywords:Architecture;Software reliability;Analysis
在全球电子信息技术高速发展的时代背景下,软件研发作为一个新兴的产业也经历了近50年的发展历程,并逐渐成为现代信息社会构建中的关键一环。在现阶段软件项目的研发过程中,不但对于质量、可靠性、稳定性、安全性等技术指标有了更高的要求,而且对于软件系统失效的容许能力也越来越小,软件项目研发中必须综合考虑到多方面的问题与因素。在现行的软件体系结构下,可靠性是软件项目质量测试中最为重要的指标,也是软件项目的固有特性之一。经国内外权威软件研发机构长期探索与研究表明:在预测或计算软件系统可靠性时,必须基于软件体系结构的基础之上,否则得出的测试往往和实际情况相差甚远。
一、自动测试系统软件体系结构的研发与应用
近年来,国内外软件开发商在强化技术力量与资金投入的同时,也深刻认识到软件体系结构的改进与完善对于其质量提升的重要性。随着现代电子信息技术及编程技术的创新发展,越来越多的自动测试系统被开发与应用,并且取得了令人满意的使用效果。
目前,国内外通用的自动测试系统的软件体系结构大多建立于IEEE的宽域测试环境标准基础之上,宽域测试环境标准将自动测试系统划分成5个层次,即测试程序层、产品描述层、资源管理层、测试需求层及仪器控制层。现在应用的自动测试系统普遍具有串行自动测试系统的基本特性,核心测试过程与串行自动测试系统的核心测试过程是一致的。自动测试系统软件体系结构与传统串行自动测试系统的软件体系结构的不同在于其任务,资源管理层更加复杂。
二、现行软件可靠性研究中存在的弊端与问题
目前,国内外软件开发商都适时加大了对于软件可靠性研究的重视程度,也已取得了很大的成就,但是仍然存在一些弊端与问题仍,如果不能得到及时、有效的解决,必然影响到软件研发行业的整体发展趋势与前景。
(一)软件可靠性的有效性和适用范围
虽然目前国内外软件研发行业已经逐步建立了数百种软件可靠性测试模型,但是普遍具有一定的局限性。因此,从软件研发行业的长期发展角度而言,可靠性模型的实际应用是否满足要求、假设是否合理、适用范围是否广泛等问题都是必须深入考虑与研究的,如何进一步构建合理、实用的软件可靠性模型还有待于进一步研究。
(二)软件系统模块失效数据的研究
在国内外现阶段的软件可靠性研究中,对于相关程序数据的收集是一项相对较为复杂的工作内容,到目前为止,国内外均未构建专业用于测试软件可靠性的模型。同时,可用性强、估计精度、以及模型与模型之间差别的数据库也尚未完全建立。因此,在软件可靠性分析中,研究失效数据的收集处理系统及其机制,可以将硬件的失效性数据规范的方法应用到软件的失效数据的研究中,为软件可靠性的快速预计、设计提供理论依据和实际分析手段。
三、体系结构下软件可靠性的分析
近年来,世界各国软件研发行业对于软件可靠性均给出了不同的定义,但是其基本理念与内容是具有一定共通性的。目前,国际上普遍认可的对于软件可靠性的定义为:在一段时间内,对于软件正常运行的概率进行分析与统计,最终得出软件的平均生命周期与相关质量指标。在现行的软件体系结构下,软件可靠性模型对于软件可靠性的测试起到决定性的作用。软件可靠性分析中,涉及道德各方面因素相对较多,只有协调好各因素之间的联系与影响关系,才能更为科学、有效地促进软件可靠性分析结果的真实性与准确性。
影响软件可靠性的主要因素
在软件项目的开发和维护过程中,软件项目越大、体系结果越复杂,其所消耗的资源也就越多,在软件设计中引入错误的可能性也自然增大。尽管复杂性与软件中的错误数未必呈现出简单的正比关系,但存在这种正相关趋势是肯定无疑的。另外,按照软件的性质和功能,软件可区分为以下类别:应用软件、系统软件、支持软件、测试软件及维护软件,不同的软件类别对软件的可靠性要求不同,实现难度自然也就不同。
(二)基于体系结构下的软件可靠性早期预测模型
通过引入软件体系结构的方法,本文提出基于体系结构下的软件可靠性早期预测模型。该模型的建立步骤如下:
1.根据经验列出所有对该单位开发的软件的可靠性可能产生影响的因素,并将各方面因素进行综合分析。
2.对于形式化程度比较高的部分,一般采用自动化工具进行数据采集,也可以采用人工测量计算。
3.对数据进行预处理,主要包括主成分分析、数据标准化处理、特异样本点的判定和数据归一化。
4.核函数类型的选择与所应用的领域有关,经常使用的核函数主要有线性核、多项式核、径向基函数核等。
5.模型参数和核参数的选择要根据模型的测试结果,进而得出软件可靠性的测试结果。
四、结束语
在我国现代IT领域管理方面,逐步认识到软件质量测试的重要性,并且采取了一系列科学、有效、合理的管理和技术措施,但是现行的措施普遍只限于实施软件工程的层面,远没有达到软件可靠性工程的深度。因此,国内软件研发行业必须跟踪国外软件可靠性技术的发展,继续开展和支持软件可靠性研究。
参考文献:
[1]马珊红,于祥林.基于体系结构下的软件可靠性综合模型[J].哈尔滨工业大学学报,2007,11.P15-16