第8天Microsoft_Robotics_Developer_Studio中文教程--Hello_World_Again!_(DSS_Service_version).pdf

第8天Microsoft_Robotics_Developer_Studio中文教程--Hello_World_Again!_(DSS_Service_version).pdf

ID:34820821

大小:439.19 KB

页数:8页

时间:2019-03-11

第8天Microsoft_Robotics_Developer_Studio中文教程--Hello_World_Again!_(DSS_Service_version).pdf_第1页
第8天Microsoft_Robotics_Developer_Studio中文教程--Hello_World_Again!_(DSS_Service_version).pdf_第2页
第8天Microsoft_Robotics_Developer_Studio中文教程--Hello_World_Again!_(DSS_Service_version).pdf_第3页
第8天Microsoft_Robotics_Developer_Studio中文教程--Hello_World_Again!_(DSS_Service_version).pdf_第4页
第8天Microsoft_Robotics_Developer_Studio中文教程--Hello_World_Again!_(DSS_Service_version).pdf_第5页
资源描述:

《第8天Microsoft_Robotics_Developer_Studio中文教程--Hello_World_Again!_(DSS_Service_version).pdf》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、[RoboticsStudio]HelloWorldAgain!(DSSServiceversion)--Day8编辑整理<杜毓聪duyucong@gmail.comwww.yucongdu.cn>太混了,第八天還在HelloWorld!事實是,我們開始往更深入的技術邁進囉,如果想要更深入了解RDS(MicrosoftRoboticsDeveloperStudio),我們要開始了解DSS(DecentralizedSoftwareServices)以及CCR(ConcurrencyAndCoordinationRuntime)

2、,雖然DSS以及CCR是隨著RDS而出現,但其實它們可不需要限定於RDS才能使用歐,雖然我目前沒有在.NETFramework4.0當中發現他們的身影,但是隨著多核心系統的進展,軟體當然也是要能夠發揮多核心的長處,隨之而來的平行處理問題,當然是程式人員要面對的課題,有了CCR以及DSS這樣的Framework,開發平行處理程式時將會採用不同的邏輯思考與概念.如果你已經寫了很多年的程式,相信對於之前的VPL覺得有些不太習慣,現在我要弄點程式人員習慣的東西,就是用VisualSutdio2008(orVS2008ExpressEd

3、ition)來開發程式.但是我還是不會脫離VPL這個介面.為什麼我要貼著VPL這個介面呢,因為RDS教學套件中有相當多關於DSS與CCR資訊,但卻都是單純的VisualSutdio操作,鮮少提及如何跟VPL整合,但我認為VPL才是適合初學者的良好介面,所以對於初學者而言,能夠與這個介面整合,應該比較能夠提起寫code的興趣.這就如同一開始如果教學採用UnixCommandLine模式,相信很多人都受不了.但是如果一開始採用拖拉視覺操作系統方式,相信很多人都比較容易有興趣,等到有了興趣,再介紹更強大的命令列模式,就比較不會覺得排

4、斥.況且,良好的視覺操作系統有時候比起命令列模式還棒,這點只要你看過VPL開發的程式經過Compile轉成C#的程式後,你會承認VPL有時候是比較好的(當然不是所有狀況,而是各有優缺點).OK!寫了很多廢話才開始寫程式,這大概是年紀大了(愛碎碎念)才會這樣吧??首先,在你安裝完RDS以後,如果你有VisualStudio2008(orExpressEdition),你應該可以在新增專案當中看到MicrosoftRoboticsExpress,像這樣:我們可以透過這個新增專案快速地開發一個DSSService,而這個DSSSer

5、vice就可以出現在我們安裝的VPL當中歐.按下確定以後,你會看到一個對話框:這是對話框可以讓你輸入DSS的名稱,日期(用以跟其他同名的DSS區別),還可以輸入Partners(一起合作的DSSService),AlternateContracts(替代協定)我們可以都用預設的,因為我們現在只要寫HelloWorld嘛...不過在開始撰寫DSSService之前,我想要先講解DSSService的大體架構:(這張圖來自RDS官方文件)首先,一個DSSService需要有兩個名稱用來以供辨識,一個是ServiceIdentifi

6、er,表示它存在的實體URL位置.所以每一個DSS實體(Instance)都會有一個唯一的ServiceIdentifier,你可以看成是變數名稱(VariableName),不要跟ContractIdentifier搞混了,ContractIdentifier的格式會是像這樣:http://schemas.tempuri.org/[year]/[month]/[name].html(這樣你知道剛剛對話框要你填日期以及OrganizationDomain是要幹啥用了吧),它才是這個DSSService的功能名稱,你可以看成是類

7、別名稱(ClassName).每個DSS都會有一個狀態(State),也會有一堆程式碼(ServiceHandlers)負責對外溝通(MainPort),還可以有通知(Notifications),然後可以有協同運作的Service(Partners)這幾大塊.完成以後你會看到VisualStudio幫你生了一個專案像是這樣:其中DSSService_HelloWorldType.cs放的是宣告的程式碼,DSSService_HelloWorld.cs則是主體程式碼(當然事後你可以亂改..)為了完成HelloWorld,我們來

8、把這個DSS的State加上一個字串的資料成員(DataMember)吧,你可以在DSSService_HelloWorldTypes.cs當中找到下面這段程式碼:///

///DSSService_HelloWorldstate///[D

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。