操作者框架(AF)系列視頻學習筆記之準備篇

概要

該系列學習筆記預計一共是15篇專欄文章,將同步記錄自己在學習與梳理湯姆.麥奎蘭Tom McQuillan)製作的操作者框架(Actor Framework)系列教學講解視頻過程中的個人理解與心得,並藉此相應地做好每個視頻所涉及相關知識點的資料歸納與彙總工作,便於自己今後回顧及其他工程師們借鑑學習,也由衷地希望社區能夠成為大家在學習與應用操作者框架、乃至LabVIEW面向對象編程技術的國內討論社區。

本篇是學習筆記的準備篇。

目錄

  1. 操作者框架背景及定義
  2. 操作者框架系列視頻簡介
  3. 視頻作者介紹
  4. 學習方式及開發練習環境要求
  5. 範例代碼及主要資料支持
  6. 學習筆記模板
  7. 筆記編寫方式及計劃安排
  8. 總結

1.操作者框架背景、歷史及定義

NI公司應用面向對象技術在原先的隊列驅動狀態機(QDSM)基礎上,迭代開發出了操作者框架(Actor Framework),目前該框架是在LabVIEW環境下創建大型,高度並行化,可擴展的應用系統的不二選擇!

操作者框架(Actor Framework)首次發佈於2010年NI Week,核心開發者是來自於NI公司研發團隊的Stephen Loftus-Mercer 和Allen Smith ,該框架推出的初衷是為了簡化在單個應用程序中創建多個獨立運行(多線程)且需要相互通信VIs,從而最終讓創建複雜併發狀態機(state machine)交互的場景更為便捷。

操作者框架(AF)系列視頻學習筆記之準備篇


操作者框架(AF)系列視頻學習筆記之準備篇

2012年8月,操作者框架(AF)正式隨LabVIEW 2012版本推出項目內建模板和消息腳本製作工具。從2012年至2015年期間,該框架不斷的迭代更新,逐漸成為LabVIEW中最為重要的併發開發框架,並在NI公司內部以及測控領域都得到廣泛的應用。

根據NI官方操作者框架技術白皮書對該框架的定義為:

操作者框架(Actor Framework)是一個軟件類庫,用以支持編寫有多個VI獨立運行且相互間可通信的應用程序,在該類型應用程序中,每個VI即代表著一些操作者(Actors)執行著一組獨立的系統任務,操作者本身維持著自己的內部狀態,並傳遞消息給其它的操作者,在LabVIEW編程環境中已經有了一些創建此類架構程序的技術存在,而操作者框架聚則焦於容易學習(相對於其它可能強大的工具而言),同時能夠降低死鎖和競態條件,並擁有最大限度代碼複用的優點。


操作者框架(AF)系列視頻學習筆記之準備篇

操作者框架技術白皮書

2.操作者框架系列視頻簡介

系列教學講解視頻的原網址為YouTube上的湯姆.麥奎蘭(Tom McQuillan)的LabVIEW Adventure視頻頻道:https://www.youtube.com/tomslabviewadventure ;

具備科學上網條件的朋友可以自行前去學習交流,有疑問還可以留言直接與湯姆.麥奎蘭溝通。

為了便於大家在國內學習,我的同事B站的UP主——霧丨以類聚與湯姆.麥奎蘭電子郵件聯繫後,得到了視頻作者的同意授權後轉載到國內最好、最大的自由學習網站——B站上,具體的視頻地址為:

1. Recap of Modular Applications in LabVIEW_嗶哩嗶哩 (゜-゜)つロ 乾杯~-bilibili​www.bilibili.com

操作者框架(AF)系列視頻學習筆記之準備篇


全部系列視頻一共有13集,總時長 03:20:52 ,即將近201分鐘。

1. Recap of Modular Applications in LabVIEW 時長:08:55 ;

2. Deriving the Actor Core in Actor Framework (The Command Pattern) 時長:10:49;

3. Creating Your First Actor - Hello World! 時長:10:40;

4. User Interface Basics with Actor Core Override 時長:15:26;

5. User Events in Actor Framework (+ Chat Window Project Intro) 時長:16:46;

6. Actor System Design and Messaging 時長:18:39;

7. How Actor Systems Stop and What Happens When an Error Occurs 時長:03:14;

8. User Interfaces in Actor Framework and User Event Scripting 時長:08:17;

9. Abstract Messages in LabVIEW Actor Framework 時長:13:53;

10. Top Five Actor Framework Overrides 時長:12:22;

11. Using Subpanels with the LabVIEW Actor Framework 時長:16:39;

12. LabVIEW Maps (feat. Actor Framework) 時長:11:59;

13. Trying out Actor Framework in LabVIEW NXG 4.0... 時長:53:04;

另外,作者自己本身其實並沒有提供視頻字幕,但Youtube的英語自動聽譯字幕的準確性頗高,我們也已將該方式產生的英文字幕同步上傳到B站,可以非常好的輔助大家進行學習。

操作者框架(AF)系列視頻學習筆記之準備篇

英文字幕顯示效果

大家在看視頻的時候不要忘記點喜歡點贊、投幣與收藏喲,感謝一下UP主:霧丨以類聚的辛勤搬運。

操作者框架(AF)系列視頻學習筆記之準備篇

為UP主鼓勵加油

該套系列視頻具備以下優點:

A.系統性

視頻的順序邏輯安排,以循序漸進的方式提供了優良的系統性,從模塊化需求背景問題挑戰開始引入操作者框架,詳細地演示了框架的迭代演化過程,並從始至終的使用一個完整的聊天室(Chat Room)的範例來演示操作者框架的諸多概念和編程知識點。

B.全面性

概念與知識涵蓋範圍廣的全面性:包含模塊化、QMH與AF的演化、樹狀通信結構、用戶界面、抽象消息、命令與MVC設計模式;

開發版本覆蓋的全面性:即使用了LabVIEW 2019版本(主要開發版本),也實驗了LabVIEW NXG 4.0中的操作者框架的開發功能驗證。

C.專業性

視頻作者本身經歷與能力的專業性:視頻作者——湯姆.麥奎蘭Tom McQuillan)有著電子工程的高等教育專業背景,多年LabVIEW工作實戰開發經驗和會議交流的技術演講者,以及在NI工作兩年的多年培訓經驗以及多個官方認證能力資格,使其對起源於NI官方的操作者框架具有良好的專業概念理解。

視頻製作的匠心專業性:作者湯姆.麥奎蘭在此係列視頻中精心準備了PPT演示(含動畫演示),

操作者框架(AF)系列視頻學習筆記之準備篇

編程關鍵點文字說明提示,

操作者框架(AF)系列視頻學習筆記之準備篇

配套的範例代碼,並真人實鏡實操的詳盡演示代碼開發過程,有重複或與主題關聯度不高的鏡頭會被剪輯掉或者快進節約時間,

操作者框架(AF)系列視頻學習筆記之準備篇


操作者框架(AF)系列視頻學習筆記之準備篇

因此整套視頻(除去第13集為實驗練習及NXG版本的功能漫遊驗證,時間與節奏較為冗長外)短小精悍不拖沓,節奏快且信息量大!

視頻作者湯姆.麥奎蘭Tom McQuillan)現為Scientifica公司的軟件開發人員,現致力於神經科學研究領域的軟件改進,工作地點為英國布賴頓市。

他獨立運營維護有LabVIEW YouTube頻道,並以認證專業講師的身份定期教授諸多LabVIEW,TestStand,VeriStand和DIAdem的培訓課程。

在為Scientifica公司工作之前,其在National Instruments工作了兩年,併為數百種獨特的應用程序提供了技術支持,以解決業界的工程難題,並取得了LabVIEW架構師認證。

在National Instruments工作之前,湯姆還曾與兩個NI的聯盟合作伙伴一起工作,主要工作內容為:開發定製軟件並設計配套自動化測試設備。

認證履歷:認證LabVIEW架構師,認證嵌入式系統開發人員,認證TestStand架構師,認證專業講師

教育學歷:The University of Huddersfield 電子工程專業碩士學位

https://www.linkedin.com/in/thomasmcquillan/​www.linkedin.com

操作者框架(AF)系列視頻學習筆記之準備篇


4.視頻知識點的講解方式及開發練習環境要求

在如何學習並應用該框架開發程序問題上,國外的LabVIEW大牛圈界們有兩種截然不同的方式,一種是掌握其核心理念,能夠模仿使用運轉起來即可,重點關注自己的實際應用領域場景即可,考慮到Actor Framework的框架內部的源代碼較為複雜和概念容易混淆,不建議初學者深究它的內部的工作原理與源代碼細節。另外一方則建議在通讀過源碼後才能真正地掌握Actor Framework的精髓,也才能正確地、合理地用好該框架,否則物極必反,得不償失。

視頻作者湯姆.麥奎蘭Tom McQuillan)在該系列教學視頻中很好的結合了上述兩者的優點,既有底層源碼原理與概念的清晰講解,又有工程實例樣碼實際練習應用,特別是其積累的豐富培訓經驗能夠知道如何準確地把知識難點講透徹,使得視頻觀眾有實質收穫。

視頻代碼開發練習環境為LabVIEW 2009 和LabVIEW NXG 4.0,其中LabVIEW 2009為主力開發版本,視頻2到12集均是使用該版本開發與演示,特別是第12集用通過多個嵌套操作者的管理功能演示Map數據結構,該數據結構是LabVIEW 2019版本新增加的功能特點。NXG 4.0 為實驗面向功能的版本,如果精力有限、可暫且不用安裝該版本,不會影響系列課程的學習。

5.範例代碼及主要資料支持

視頻配套的範例代碼作者全部上傳到了編程基友樂園Github上的個人項目存儲庫中,方便大家下載練習。

https://github.com/TomsLabVIEWAdventure​github.com

操作者框架(AF)系列視頻學習筆記之準備篇

點擊頁面按鈕“Clone or download”中的“Download ZIP”即可方便快捷的下載打包源代碼。

操作者框架(AF)系列視頻學習筆記之準備篇


配套的資料網站:

(1).學習操作者框架最好的起點

https://forums.ni.com/t5/Actor-Framework-Documents/READ-THIS-FIRST-to-get-started-with-Actor-Framework/ta-p/3493762?profile.language=zh-CN​forums.ni.com

(2).學習操作者框架的根據地和大本營——NI操作者框架的討論社區

https://forums.ni.com/t5/Actor-Framework/ct-p/7001?profile.language=zh-CN​forums.ni.com

(3).NI官方白皮書

李時珍:操作者框架(Actor Framework)技術白皮書(翻譯)​zhuanlan.zhihu.com

操作者框架(AF)系列視頻學習筆記之準備篇

(4).我的兩篇專欄文章

李時珍:LabVIEW面向對象編程_初窺門徑(8):操作者框架(Actor Framework)之演化​zhuanlan.zhihu.com

操作者框架(AF)系列視頻學習筆記之準備篇

李時珍:LabVIEW面向對象編程_初窺門徑(9):操作者框架Actor Framework之開發​zhuanlan.zhihu.com

操作者框架(AF)系列視頻學習筆記之準備篇

6.學習筆記模板

每篇學習筆記將對應一集視頻,其模板格式如下:

A.知識背景介紹,也就是學習該視頻應該具備的基本概念、知識點和編程技能;

B.視頻內容介紹,分主要邏輯段落簡要介紹主要內容;

C.代碼練習中的注意事項;

D.我個人認知與理解;

E.官方培訓概念與知識點對比

F.其他相關輔助配套資料。

7.筆記編寫方式及計劃安排

關於編寫方式我將採用邊學邊記錄,並長期在線保持持續更新。

計劃安排預計從2020年02月11日開始連載,直至2020年03月18日,希望能夠持之以恆,向湯姆.麥奎蘭Tom McQuillan)講師學習,高標準、嚴要求地堅持做完本系列的視頻學習筆記。

操作者框架(AF)系列視頻學習筆記之準備篇

編寫計劃

8.總結,一路有你!

該套精品視頻是目前料最足、成系統、有體系的最佳操作者框架(Actor Framework)學習視頻,學到就是賺到!要知道參加NI官方的三天操作者框架培訓課程近一萬七千元(當然如果所在單位不差錢的話並願意為員工技能培訓投入的話,我還是十分推崇你去參加學習的,應為該課程是操作者框架開發者之一的Allen C.Smith精心編寫的教程,該課程大綱如下鏈接),

Training Course Details: Actor-Oriented Design in LabVIEW​www.ni.com

而視頻資料基本涵蓋了官方培訓的85%的概念與知識點,所以不必東奔西走,只需埋頭刻苦同步學習,並完成配套代碼的認真研讀與模仿練習,必有成效。如果你是個完美主義者,還想免費獲取剩下的15%的知識點,其實只要認真一些,NI公司內部優秀的工程師們其實在操作者討論社區中也都發布出來了,只不過是零散的不像教材那麼系統而已。

一個人走(學習或做事)更快一些,一群人走(學習或做事)走的會更遠!現在就讓我們一起學貓叫,哈哈,不對一起學AF!

操作者框架(AF)系列視頻學習筆記之準備篇

Photo by Pixabay from Pexels

讓我們開始這段學習旅程吧!

希望我們完成該段旅程後,大家已經戰勝了新冠肺炎!加油!

操作者框架(AF)系列視頻學習筆記之準備篇

Photo by Pixabay from Pexels


分享到:


相關文章: