LabVIEW8.5為設計添加高級計算模型
JohnPasquarette,NI公司的軟件營銷總監(jiān),他將和我們一起討論高級設計工具中的抽像的應用以及如何應用這些工具結合NI公司LabVIEW圖形化系統(tǒng)設計軟件加速開發(fā)過程。
問:什么是“計算模型”?
Pasquarette先生回答:
“計算模型”這個術語在學術界一直是用來抽象定義一個計算機系統(tǒng)的。簡單的說,一個計算模型就是采用一種特殊的方式對一個軟件模塊的功能進行描述。我們用這個術語描述各種高級的桌面程序和嵌入式系統(tǒng)。計算模型包括基于文字信息,面向對象,狀態(tài)圖和圖形化數(shù)據(jù)流。每種模型在不同領域和場合的應用上往往都是存在相對的優(yōu)勢和劣勢。
使LabVIEW具有使用不同計算模型的進行編程的能力是我們圖形系統(tǒng)設計遠景目標的一個重要組成部分。NI在LabVIEW中為用戶進行應用編程提供了多種計算模型供其選擇。LabVIEW包括基于圖形化數(shù)據(jù)流編程,動態(tài)系統(tǒng)仿真,基于文字信息編程,文本數(shù)學編程以及面向對象編程。
LabVIEW8.5中,我們新加入了另一種計算模型—LabVIEW狀態(tài)圖編程,它是基于UML(UnifiedModelingLanguage,統(tǒng)一建模語言)規(guī)范的狀態(tài)圖,這樣可以更方便用戶利用狀態(tài),狀態(tài)轉換和事件進行復雜系統(tǒng)的設計。LabVIEW用戶也可以將各種計算模型進行搭配以便更好的對其所開發(fā)的系統(tǒng)進行描述。比如說,程序員在設計一個激光控制系統(tǒng)的時候,應用狀態(tài)圖模型定義狀態(tài),應用圖形化據(jù)流模型來執(zhí)行FPGA的邏輯控制,應用仿真模型來對激光進行動態(tài)仿真。
問:為什么NI選擇狀態(tài)機視圖作為下一個計算模型?
Pasquarette先生回答:
這些年來,設計者們利用傳統(tǒng)的狀態(tài)圖來快速描述系統(tǒng)的功能。狀態(tài)圖在傳統(tǒng)的狀態(tài)圖上增加了并發(fā)以及層次的概念,這樣就可以使設計者對那些包含并行任務的系統(tǒng)進行描述了。另外,狀態(tài)機視圖加入了一種正式的方式來響應事件,使這些事件能夠立項的描述系統(tǒng)響應。這對嵌入式設備,控制系統(tǒng)以及復雜的用戶界面更加有用。此外,狀態(tài)機視圖提供了證明系統(tǒng)功能性的一種簡單自然的方式。當應用LabVIEW的圖形數(shù)據(jù)流來定義每種狀態(tài)的行為時,狀態(tài)機視圖可以作為可執(zhí)行的說明書。
問:誰將從這些高級設計工具中受益呢?
Pasquarette先生回答:
這些高級設計工具的主要受益人是那些我們稱之為“領域專家”的人。他們并不是專業(yè)的嵌入式系統(tǒng)開發(fā)的工程師和科學家;但是,他們是生物醫(yī)學儀器,機電一體化以及高能物理方面的革新人。他們是想將這些革命性的產(chǎn)品推向市場的人。當他們應用高級設計工具比如LabVIEW的現(xiàn)成模型硬件時,就能很快地利用他們的設計通過實際的輸入來驗證算法的正確性。高級開發(fā)工具可以使這些領域專家不必成為嵌入式專家也可以將他們的設計嵌入硬件之中。
問:當用戶應用高級設計工具的時候是不是會犧牲掉低級的控制呢?
Pasquarette先生回答:
有一種世俗觀點叫沒有免費的午餐,這個道理同樣適用于軟件設計。高級設計工具同低級工具相比,提供了較少的優(yōu)化功能。但是,權衡利弊,由于愈來愈復雜的設計和較短的向市場進行推廣的時間,這種犧牲還是值得的。設計者不必再去等待嵌入式專家來開發(fā)匯編代碼了。
在應用高級軟件工具進行設計的過程中,有一些關鍵的因素是必需的。為了完成設計,必須向低級的特征和功能提供HOOKs(一種采用I/O復用的仿真技術)。另外,高級工具必須提供對繼承代碼進行再利用以及整合。這就是為什么我們總是在LabVIEW中提供一些低級程序結構和功能以及在 LabVIEW的FPGA模塊和文本數(shù)字模塊中調用已經(jīng)存在的代碼比如說C代碼,VHDL的方法。最后,利用高級工具開發(fā)的代碼必須能夠再利用在可以大量應用的硬件平臺上。比如,一個機器設計者可以利用LabVIEW和任何LabVIEW的計算模型,包括狀態(tài)圖和仿真模型在桌面系統(tǒng)上來構建他或她的控制原形并監(jiān)控應用狀況,然后,應用相同的代碼到嵌入式控制系統(tǒng)中,比如說NI的CompactRIO。
問:許多設計者認為LabVIEW是一種測試工具。那么LabVIEW在設計的舞臺上到底扮演的是什么樣的角色呢?
Pasquarette先生回答:
自從20世紀80年代,LabVIEW產(chǎn)生至此,它一直是作為一種設計工具來應用的。最初的圖形數(shù)據(jù)流已經(jīng)轉化為了一種偉大的設計方法,應用在從望遠鏡調節(jié)裝置到分析儀器這樣廣泛的系統(tǒng)范圍。大量的LabVIEW國際協(xié)議應用在高級數(shù)學,分析和信號處理方面,包括像LabVIEW數(shù)字濾波器設計工具包等特殊工具,徹底縮短了這些系統(tǒng)的開發(fā)時間。
在最近的10年內,LabVIEW的設計能力已經(jīng)成長為可以對嵌入式的實時硬件的編程。我們提出的一些技術,比如說LabVIEWFPGA,這樣工程師就可以利用圖形編程來設計硬件邏輯。由于圖形數(shù)據(jù)流可以直觀的描述并行軟件行為,因此,它可以作為一種理想的計算模型用于并行處理環(huán)境,比如FPGA。LabVIEW的最新版本將這種類似的經(jīng)驗應用到了實時多核系統(tǒng)的編程中。我們的許多用戶都有利用LabVIEW進行嵌入式設計的經(jīng)驗。另外,利用LabVIEW微處理器SDK,我們將LabVIEW的應用擴展到了任何32位微處理器中。LabVIEW提供的嵌入式硬件以及多樣的計算模型,使之成為了一種具有重大生產(chǎn)率優(yōu)勢的有效設計工具。
評論