原创 状态图 :LabVIEW8.5为设计添的一个高级“计算模型”

2008-7-3 11:11 2635 5 5 分类: 测试测量
John Pasquarette,NI公司的软件营销总监,他将和我们一起讨论高级设计工具的中抽像的应用以及如何应用这些工具结合NI公司LabVIEW图形系统设计软件加速开发过程。0 [4 e- }. ]$ Y1 H8 S: G
问:什么是“计算模型”?
4 ~+ T1 R( [. C3 s4 A% Q( yPasquarette先生回答' _( d3 b5 ~* R, ~$ E' q

        “计算模型”这个术语在学术界一直是用来抽象定义一个计算机系统的。简单的说,一个计算模型就是采用一种特殊的方式对一个软件模块功能进行描述。我们用这个术语描述各种高级的桌面程序和嵌入式系统。计算模型包括基于文字信息,面向对象,状态图和图形化数据流。每种模型在不同领域和场合的应用上往往都是存在相对的优势和劣势。
+ A3 p$ {) F1 D0 \% X* c  s# c- d# \
        使LabVIEW具有使用不同计算模型的进行编程的能力是我们图形系统设计远景目标的一个重要组成部分。NI在LabVIEW中为用户进行应用编程提供了多种计算模型供其选择。labview包括基于图形化数据流编程,动态系统仿真,基于文字信息编程,文本数学编程以及面向对象编程。. p- K. f+ y$ d Q! G( N; z* |, J
. D3 d3 K8 i8 O* ~, w
        LabVIEW8.5中,我们新加入了另一种计算模型—LabVIEW状态图编程,它是基于UML(Unified Modeling Language,统一建模语言)规范的状态图,这样可以更方便用户利用状态,状态转换和事件进行复杂系统的设计。LabVIEW用户也可以将各种计算模型进行搭配以便更好的对其所开发的系统进行描述。比如说,程序员在设计一个激光控制系统的时候,应用状态图模型定义状态,应用图形化数据流模型来执行FPGA的逻辑控制,应用仿真模型来对激光进行动态仿真。

问:为什么NI选择状态机视图作为下一个计算模型? 1 P6 M' B" o$ N) Z) \, m
Pasquarette先生回答:5 o, {+ _1 T5 w7 ?8 U4 S0 M
        这些年来,设计者们利用传统的状态图来快速描述系统的功能。状态图在传统的状态图上增加了并发以及层次的概念,这样就可以使设计者对那些包含并行任务的系统进行描述了。另外,状态机视图加入了一种正式的方式来响应事件,使这些事件能够立项的描述系统响应。这对嵌入式设备,控制系统以及复杂的用户界面更加有用。此外,状态机视图提供了证明系统功能性的一种简单自然的方式。当应用LabVIEW的图形数据流来定义每种状态的行为时,状态机视图可以作为可执行的说明书。
3 h* J! G: v- w2 ?4 {% I$ H/ D问:谁将从这些高级设计工具中受益呢?
+ H% B9 \) O) ?# {$ @Pasquarette先生回答:
5 \1 f1 V- }+ F [) p        这些高级设计工具的主要受益人是那些我们称之为“领域专家”的人。他们并不是专业的嵌入式系统开发的工程师和科学家;但是,他们是生物医学仪器,机电一体化以及高能物理方面的革新人。他们是想将这些革命性的产品推向市场的人。当他们应用高级设计工具比如LabVIEW的现成模型硬件时,就能很快地利用他们的设计通过实际的输入来验证算法的正确性。高级开发工具可以使这些领域专家不必成为嵌入式专家也可以将他们的设计嵌入硬件之中。" E  ~. F0 D# v. y5 F$ t, y
问:当用户应用高级设计工具的时候是不是会牺牲掉低级的控制呢?
. I) \+ s c5 e  R9 o# wPasquarette先生回答:
3 _ }+ G; i' }+ z        有一种世俗观点叫没有免费的午餐,这个道理同样适用于软件设计。高级设计工具同低级工具相比,提供了较少的优化功能。但是,权衡利弊,由于愈来愈复杂的设计和较短的向市场进行推广的时间,这种牺牲还是值得的。设计者不必再去等待嵌入式专家来开发汇编代码了。
0 T6 W: z3 y9 Q' C6 v7 ?1 }
9 q$ E6 ~1 z) O; Y        在应用高级软件工具进行设计的过程中,有一些关键的因素是必需的。为了完成设计,必须向低级的特征和功能提供HOOKs(一种采用I/O复用的仿真技术)。另外,高级工具必须提供对继承代码进行再利用以及整合。这就是为什么我们总是在LabVIEW中提供一些低级程序结构和功能以及在LabVIEW的FPGA模块和文本数字模块中调用已经存在的代码比如说C代码,VHDL的方法。最后,利用高级工具开发的代码必须能够再利用在可以大量应用的硬件平台上。比如,一个机器设计者可以利用LabVIEW和任何LabVIEW的计算模型,包括状态图和仿真模型在桌面系统上来构建他或她的控制原形并监控应用状况,然后,应用相同的代码到嵌入式控制系统中,比如说NI的CompactRIO.$ a1 |) E8 P9 F e
问:许多设计者认为LabVIEW是一种测试工具。那么LabVIEW在设计的舞台上到底扮演的是什么样的角色呢?
2 g5 S7 R1 B  `3 } m. H6 j( x) x4 GPasquarette先生回答:0 w. i5 R0 y0 K" |$ S7 U
        自从20世纪80年代,LabVIEW产生至此,它一直是作为一种设计工具来应用的。最初的图形数据流已经转化为了一种伟大的设计方法,应用在从望远镜调节装置到分析仪器这样广泛的系统范围。大量的LabVIEW国际协议应用在高级数学,分析和信号处理方面,包括像LabVIEW数字滤波器设计工具包等特殊工具,彻底缩短了这些系统的开发时间。
9 O4 \! E2 k% h* x0 M8 v( f _2 j& c6 }" ]/ Z; Q
        在最近的10年内,LabVIEW的设计能力已经成长为可以对嵌入式的实时硬件的编程。我们提出的一些技术,比如说LabVIEW FPGA,这样工程师就可以利用图形编程来设计硬件逻辑。由于图形数据流可以直观的描述并行软件行为,因此,它可以作为一种理想的计算模型用于并行处理环境,比如FPGA。LabVIEW的最新版本将这种类似的经验应用到了实时多核系统的编程中。我们的许多用户都有利用LabVIEW进行嵌入式设计的经验。另外,利用LabVIEW微处理器SDK,我们将LabVIEW的应用扩展到了任何32位微处理器中。LabVIEW提供的嵌入式硬件以及多样的计算模型,使之成为了一种具有重大生产率优势的有效设计工具。2 k3 x# G9 G8 r, n. U" k, l' h

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /2 下一条