📄 2.虚拟仪器系统软件结构与模型.txt
字号:
发信人: ilyfe (伊犁*飞), 信区: LabVIEW
标 题: 第二章 虚拟仪器系统软件结构与模型
发信站: 饮水思源 (2003年05月04日13:15:23 星期天), 站内信件
VXI即插即用规范的提出,为虚拟仪器系统的建立提出了原则性的理论依据,而为
了进行高效、简捷的虚拟仪器系统集成,剖析系统软件结构是首要步骤。本章从软
件结构学出发,讨论了多种软件结构范式,并根据虚拟仪器系统框架定义,提出了
虚拟仪器系统软件结构与三种结构模型,为虚拟仪器模块设计与虚拟仪器系统集成
提供理论基础。
2.1 软件结构
随着计算机系统规模与复杂度的不断扩大,设计与规划整个软件系统结构变得比选
择组成模块数据结构或算法更为关键,软件结构学作为程序工程学的一个重要分支
学科,也越来越受到软件工程师的关注,对于各类计算机系统的软件结构的研究方
兴未艾。
关于系统的软件结构,Roger S.Pressman作了一个较经典的定义:
Software architecture alludes to the overall structure of the software
and the ways in which that structure provides conceptual integrity for a
system.
软件结构是指软件的总体组成结构及系统结构化的集成方法。
从抽象意义上说,软件结构包括系统中所含元件描述、元件间的相互关系以及系统
元件的组织范式三部分,设计一个系统的软件结构,往往先选择好符合系统需求的
系统元件的组织范式,再自上而下地细化设计各个元件及其相互间的关系,在软件
设计中关系即为软件接口。一个合理的组织范式的选定,为系统有效的集成提供了
基础,也为系统级的软件重用(Software Reusability)提供了可能,也是进行软
件系统设计的首要步骤。Mary Shaw和David Garlan解析了多种系统软件结构范式
,现简要分析如下:
1、 分层式系统(Layered Systems)范式:在这种范式中,系统是层次性结构组
成的,结构中的每一层作为系统组成元件既为上一层提供服务,同时又向下一层提
出服务请求。分层式系统范式结构紧凑明确,可重用性强,适用于易进行系统层次
化分解的软件设计中。操作系统软件的基本范式即为分层式结构。分层式系统范式
基本框图如图2.1所示。
图2.1 分层式系统范式基本框图
2、 数据抽象和面向对象组织(Data Abstraction and Object-Oriented
Organization)范式:在这种范式中,所有的系统元件均是对象,对象间的数据交
互通过调用封装了的对象操作进行。面向对象组织范式充分表现了元件模块化的特
点,软件重用性强,但要求被交互的对象之间有明确的操作函数或过程接口,相对
系统分析与设计工作量较大。面向对象的程序设计方法往往采用面向对象的组织范
式,首先定义对象类与对象,再针对具体对象进行分解操作。面向对象组织范式基
本框图如图2.2所示。
图2.2 面向对象组织范式基本框图
3、 管道和过滤器 (Pipes and Filters) 范式:在这种范式中,各个输入、输出
及处理元件表现为过滤器,而元件间的接口表现为管道,管道承担了过滤器之间的
连接。管道和过滤器范式采用的是线性拓朴结构,要求经管道互连的过滤器的数据
格式与类型相一致,因此适用于结构比较简单的软件系统,最典型的例子即是批处
理系统、UNIX系统的管道技术。管道和过滤器范式基本框图如图2.3所示。
图2.3 管道和过滤器范式基本框图
4、 知识库范式(Repositories):在这种范式中,系统元件由两部分组成,一部
分是表示当前数据状态的中央数据结构,另一部分则是对中央数据结构进行存取的
操作元件集。当在系统中以操作元件集作为数据触发时,中央数据结构即表现为数
据库,知识库范式即为数据库系统范式;当中央数据结构在系统中操作触发时,它
表现为黑板形式,操作元件表现为知识源,这样系统即是由知识驱动的知识库专家
系统。具体专家系统软件的设计一般采用知识库范式。知识库范式基本框图如图
2.4所示。
图2.4 知识库范式基本框图
5、 过程控制范式(Process Control):这种范式基于过程控制循环,主要表现
为开环控制范式与闭环控制范式两类,主要用于工业自动化系统中。闭环控制范式
基本框图如图2.5所示。
另外,还有一些软件结构范式也是比较常用的,如基于事件(Event-Based)范式
、解释机(Interpreters)范式、分布式处理系统(Distributed process
system)范式、主程序/子程序组织(Main program/subroutine organizations)
范式、状态迁移系统(State transition systems)范式及特定领域软件结构(
Domain-specific software architecture)范式等。
图2.5 闭环控制范式基本框图
软件结构范式概念的提出与模型的确立,为系统软件的设计确定了基本框架。系统
软件设计工作是从首先确定结构范式开始,进而细化范式中每一元件的设计工作,
并着重关注元件之间的接口交互,使系统软件设计生成一个可操作、可管理、可维
护、可重用的过程。应当看到,一个系统软件的实现并不一定只有一种范式可循,
在许多情况下,多种范式是可以异殊同归的。此外,一个系统软件模型往往也不是
一种范式的简单复本,而是多个范式的混合体,称为混合型结构(
Heterogeneous Architecture)。
2.2 虚拟仪器系统软件结构
从第一章描述可知,虚拟仪器系统是集计算机系统与仪器系统为一体,而将研究重
点关注到虚拟仪器系统的软件系统部分,它是一个典型的计算机软件系统,因此,
它的分析与设计也应该符合软件结构学的要求。为了有效地实现虚拟仪器系统软件
设计,先必须分析系统中所包含的元件形式与接口形式,进而提出符合一般虚拟仪
器系统软件设计的基本范式,再将范式中的各个元件进行具体细化分析,为虚拟仪
器系统软件设计奠定理论基础。
在第一章中,已经简单讨论了虚拟仪器系统组成(见图1.2),为了确保组成虚拟
仪器系统的各硬件模块与软件模块的互操作性,VPP规范提出了系统框架的概念。
系统框架并非是真正的物理实体,实质是虚拟仪器系统集成的综合方法与要求。系
统框架内部定义与描述的系统元件,则是组成一个完整的虚拟仪器系统的必要部件
。根据硬件平台(PC平台与工作站平台)、操作系统及语言风格的不同,目前VPP
规范总共规定了十种系统框架。其中五种基本框架分别以其支持的操作系统命名,
分别为WIN、WIN95、WINNT、HP-UX、SUN系统框架,各自支持微软公司的DOS操作系
统、WIN95操作系统、WINNT操作系统、HP公司的UNIX操作系统、SUN公司的工作站
操作系统,并在此基础上,又分别派生出只采用NI公司的LabView图形化平台环境
的G语言系统框架,各在原基本框架名字前加上前缀G,即为GWIN、GWIN95、
GWINNT、GHP-UX、GSUN五种派生框架。VPP系统框架类型如表2.1所示。
表2.1 虚拟仪器系统框架类型
这十种系统框架分别代表了十种VPP系统构成的不同风格,相互之间既有相同点,
也存在着各自特点。这十种框架结构也分别代表了当今流行的五种操作系统与两种
语言(文本式语言和图形化式语言)风格。当新的一种操作系统或语言风格成熟后
,VPP规范也必将会考虑将之相对应的新的系统框架的规范标准,因此,虚拟仪器
系统框架的类型有着鲜明的时间性,但其关键的建构理论却有相当的稳定性。
组建一个VPP系统,首先应根据实际需要与条件制约,选择一个合适的系统框架,
然后再在这个框架范围内选择必要的组成元件。在组建系统或设计模块时,必须完
全符合一种以上系统框架的所有规范要求(有时模块设计可以同时满足多种框架规
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -