學術產出-學位論文
文章檢視/開啟
書目匯出
-
題名 支援虛實互動展演之程式環境
Programming Support for Cyber-Physical Interactive Performance Art作者 蕭奕凱
Hsiao, Yi Kai貢獻者 陳恭
Chen, Kung
蕭奕凱
Hsiao, Yi Kai關鍵詞 展演藝術
虛實互動
程式支援
領域專屬語言
所見即所得編輯器
performance art
cyber-physical interactive
programming support
domain specific language
WYSIWYW editor日期 2015 上傳時間 1-九月-2015 16:18:01 (UTC+8) 摘要 本研究係發想自政治大學「未來馬戲團」的展演活動表演方式,嘗試改進表演方式中的程式技術,以程式化方式整合展演藝術中實體與虛擬的互動平台,我們希望提供導演撰寫較為口語或展演描述方式的腳本敘述如『when ... other-wise ...』,如此一來就可以任意組合實體演員的肢體動作與指示虛擬環境的特效,因此我們採用了一套介接實體與虛擬環境應用程式的領域專屬語言- Digital In-teractive Performance Sketch (DIPS),用以開發客製化的展演程式庫,並佈署於本團隊自行開發的執行引擎 Wearable Item Service runtimE (WISE),提供導演在這個引擎上透過這個DIPS編寫前述口語的程式腳本,讓程式自行互動,達成展演效果的自動變化。我們的系統會接收來自展演人員穿配的連網感應器上的訊號,並且根據導演寫好的腳本規則,自動根據接收到的裝置訊號判斷出該指示虛擬環境做出什麼樣的效果,以達到展演效果自動變化,完成虛擬與實體展互動的程式支援。為了減少腳本程式撰寫前須具備的程式邏輯訓練,本研究開發一款所見即所得(WYSIWYG)的視覺化腳本編輯器 DIPS Creator,提供腳本編寫者可以直覺的方式組合編輯器中的展演詞彙方塊,完成腳本設計。本研究展示了如何以較為口語或展演語意的方式敘述展演規則,以實現虛實互動的程式化,並且提供了具有彈性的客製化展演函式庫及圖形化展演規則編輯器的製作方式,未來可增加多演員層次的抽象支援以展現本研究系統的更多程式化能力,並加入表演階段設計、雙向溝通與規則互斥等能力,擴充系統功能。
This research was inspired by “The Future Circus”, a cyber-physical interactive performance art developed in National Chengchi University. In this thesis, we pro-pose some mechanisms to support such performance art programmatically in a more effective manner. Specially, we provide a high-level scripting tool for directors to de-scribe the performance rules abstractly in the form of “when ... otherwise ...”, so that directors can compose arbitrary actions and effects easily. Underlying such abstract rules are a domain specific language – Digital Interactive Performance Sketch (DIPS), and a middleware. Wearable Item Service runtime (WISE), developed by our research team. Given a script with those abstract rules, our system will receive signals sent from a sensor on wearable devices of actors, and then it will command cyber environment perform effects, the performance effects or actions according to rules written by the director. Through our integration efforts, the performance effects in the cyber environment will change automatically in a programmatic way. Besides, for users without prior scripting experience, we developed a WYSIWYG GUI editor, DIPS Creator, that allows users to write a script intuitively by dragging and dropping pre-built rule blocks. We conduct a few experiments with real sensor device to demonstrate the programming support of our tool. The preliminary results are satisfactory in terms of prototype support. To further extend our tool for practical performance, we describe in detail a few directions such as support for multiple actor performance stage model-ing, and integrity check of related rules that will make our system more powerful.參考文獻 [1] Hsin Huang, Hsin-Chien Huang, Chun-Feng Liao, Ting-Chun Li, Tzzu-Chieh Tsai, Li-jia Teng, Future Circus: A Performer-Guided Mixed-reality Performance Art, 2015, International Symposium on Wearable Computers[2] Sorensen, Andrew(2005) , Impromptu : an interactive programming environment for composition and performance. In: Proceedings of the Australasian Computer Music Conference 2009, 2-4 July 2009, Queensland University of Technology, Brisbane.[3] Ingo Maier Martin Odersky., Deprecating the Observer Pattern with Scala.React, EPFL-REPORT-176887[4] P. Hudak., Modular domain specific languages and tools., In P. Devanbu and J. Poulin, editors, Proceeding of the 5th International Conference on Software Reuse (ICSR`98), pages 134-142. IEEE, 1998.[5] Martin Fowler., Domain specific languages., Addison-Wesley Professional, 2010[6] H. Conrad Cunningham., A Little Language for Surveys: Constructing an Internal DSL in Ruby.[7] Daan Leijen and Erik Meijer, Domain Specific Embedded Compilers, Proceedings of DSL`99: The 2nd Conference on Domain-Specific Languages, Austin, Texas, USA, October 3–6, 1999[8] Carl Hewitt; Peter Bishop and Richard Steiger., A Universal Modular Actor For-malism for Artificial Intelligence., IJCAI. 1973.[9] Gul A. Agha, Actors: A Model of Concurrent Computation In Distributed Sys-tems., 1985[10] Akka Scala Documentation, Release 2.4-SNAPSHOT, Typesafe Inc.[11] Evan Czaplicki, Elm: Concurrent FRP for Functional GUIs, 2012[12] Zhanyong Wan, Paul Hudak, Functional Reactive Programming from First Principles, PLDI `00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation Pages 242-252[13] Debasish Ghosh, Anshinsoft , DSL for the Uninitiated, June 1, 2011[14] Mike Dewar, Getting Start with D3, O`Reilly, 2012[15] 謝忠和, 全民做遊戲 Unity 3D 跨平台遊戲開發寶典, 2012[16] DIPS DSL, https://github.com/NCCUCS-PLSM/scala-dsl[17] DIPS Demo, https://github.com/NCCUCS-PLSM/dsl-demo[18] DIPS Demo Unity Part, https://github.com/NCCUCS-PLSM/dsl-engine-unity[19] Martin Fowler, Work in progress, http://martinfowler.com/dslwip/, 2007.[20] Reactive Streams, http://www.reactive-streams.org[21] vFavbric team , Choosing Your Messaging Protocol: AMQP, MQTT, or STOMP, http://blogs.vmware.com/vfabric/2013/02/choosing-your-messaging-protocol-amqp-mqtt-or-stomp.html[22] Phidgets 1056 user guide, http://www.phidgets.com/docs/1056_User_Guide[23] MIT Scratch extension, http://wiki.scratch.mit.edu/wiki/Scratch_Extension[24] Google Blockly, https://github.com/google/blockly[25] Arvin Hsieh, [Design Pattern] 觀察者模式 (Observer Pattern) 我也能夠辦報社, http://www.dotblogs.com.tw/joysdw12/archiver/2013/03/13/96531.aspx[26] 邓际锋, 函数式反应型编程(FRP) — 实时互动应用开发的新思路, InfoQ, 2013, http://www.infoq.com/cn/articles/functional-reactive-programming[27] CC數位學習網, Unity 3D 教學, http://www.cg.com.tw/Unity 描述 碩士
國立政治大學
資訊科學學系
102753014資料來源 http://thesis.lib.nccu.edu.tw/record/#G1027530142 資料類型 thesis dc.contributor.advisor 陳恭 zh_TW dc.contributor.advisor Chen, Kung en_US dc.contributor.author (作者) 蕭奕凱 zh_TW dc.contributor.author (作者) Hsiao, Yi Kai en_US dc.creator (作者) 蕭奕凱 zh_TW dc.creator (作者) Hsiao, Yi Kai en_US dc.date (日期) 2015 en_US dc.date.accessioned 1-九月-2015 16:18:01 (UTC+8) - dc.date.available 1-九月-2015 16:18:01 (UTC+8) - dc.date.issued (上傳時間) 1-九月-2015 16:18:01 (UTC+8) - dc.identifier (其他 識別碼) G1027530142 en_US dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/78089 - dc.description (描述) 碩士 zh_TW dc.description (描述) 國立政治大學 zh_TW dc.description (描述) 資訊科學學系 zh_TW dc.description (描述) 102753014 zh_TW dc.description.abstract (摘要) 本研究係發想自政治大學「未來馬戲團」的展演活動表演方式,嘗試改進表演方式中的程式技術,以程式化方式整合展演藝術中實體與虛擬的互動平台,我們希望提供導演撰寫較為口語或展演描述方式的腳本敘述如『when ... other-wise ...』,如此一來就可以任意組合實體演員的肢體動作與指示虛擬環境的特效,因此我們採用了一套介接實體與虛擬環境應用程式的領域專屬語言- Digital In-teractive Performance Sketch (DIPS),用以開發客製化的展演程式庫,並佈署於本團隊自行開發的執行引擎 Wearable Item Service runtimE (WISE),提供導演在這個引擎上透過這個DIPS編寫前述口語的程式腳本,讓程式自行互動,達成展演效果的自動變化。我們的系統會接收來自展演人員穿配的連網感應器上的訊號,並且根據導演寫好的腳本規則,自動根據接收到的裝置訊號判斷出該指示虛擬環境做出什麼樣的效果,以達到展演效果自動變化,完成虛擬與實體展互動的程式支援。為了減少腳本程式撰寫前須具備的程式邏輯訓練,本研究開發一款所見即所得(WYSIWYG)的視覺化腳本編輯器 DIPS Creator,提供腳本編寫者可以直覺的方式組合編輯器中的展演詞彙方塊,完成腳本設計。本研究展示了如何以較為口語或展演語意的方式敘述展演規則,以實現虛實互動的程式化,並且提供了具有彈性的客製化展演函式庫及圖形化展演規則編輯器的製作方式,未來可增加多演員層次的抽象支援以展現本研究系統的更多程式化能力,並加入表演階段設計、雙向溝通與規則互斥等能力,擴充系統功能。 zh_TW dc.description.abstract (摘要) This research was inspired by “The Future Circus”, a cyber-physical interactive performance art developed in National Chengchi University. In this thesis, we pro-pose some mechanisms to support such performance art programmatically in a more effective manner. Specially, we provide a high-level scripting tool for directors to de-scribe the performance rules abstractly in the form of “when ... otherwise ...”, so that directors can compose arbitrary actions and effects easily. Underlying such abstract rules are a domain specific language – Digital Interactive Performance Sketch (DIPS), and a middleware. Wearable Item Service runtime (WISE), developed by our research team. Given a script with those abstract rules, our system will receive signals sent from a sensor on wearable devices of actors, and then it will command cyber environment perform effects, the performance effects or actions according to rules written by the director. Through our integration efforts, the performance effects in the cyber environment will change automatically in a programmatic way. Besides, for users without prior scripting experience, we developed a WYSIWYG GUI editor, DIPS Creator, that allows users to write a script intuitively by dragging and dropping pre-built rule blocks. We conduct a few experiments with real sensor device to demonstrate the programming support of our tool. The preliminary results are satisfactory in terms of prototype support. To further extend our tool for practical performance, we describe in detail a few directions such as support for multiple actor performance stage model-ing, and integrity check of related rules that will make our system more powerful. en_US dc.description.tableofcontents 第一章 緒論 11-1 研究背景 11-2 研究動機與目的 41-3 研究成果 61-4 研究限制 71-5 論文大綱 8第二章 相關研究 102-1 Programming Support of Performance Art 102-2 Domain Specific Language 112-3 Functional Reactive Programming 132-4 Message Queue Telemetry Transport 152-5 Scala 162-6 Unity 3D 182-7 Phidgets Sensor 192-8 WYSIWYG Editor 21第三章 系統設計 223-1 採用之DIPS 語言設計研究 223-1-1架構 243-1-2 Signal 253-1-3 Rule 253-1-4 Syntax 263-1-5 Device 273-2 函數式程式設計用於抽象化時間 283-3 系統架構 313-4 裝置與腳本引擎溝通 343-5展演腳本函式庫 353-6 圖形化編輯器 - DIPS Creator 39第四章 研究結果 414-1系統整合 414-2系統測試 414-3 系統測試結果 49第五章 結論與未來工作 515-1 結論與研究貢獻 515-2 未來研究方向 53參考文獻 57附錄 60附錄一 .................................................................................................................................60附錄二 .................................................................................................................................63附錄三 .................................................................................................................................64附錄四 .................................................................................................................................65附錄五 .................................................................................................................................67附錄六 .................................................................................................................................72附錄七................................................................................................................................. 73附錄八.................................................................................................................................74附錄九 75附錄十 76附錄十一 78 zh_TW dc.format.extent 2350845 bytes - dc.format.mimetype application/pdf - dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G1027530142 en_US dc.subject (關鍵詞) 展演藝術 zh_TW dc.subject (關鍵詞) 虛實互動 zh_TW dc.subject (關鍵詞) 程式支援 zh_TW dc.subject (關鍵詞) 領域專屬語言 zh_TW dc.subject (關鍵詞) 所見即所得編輯器 zh_TW dc.subject (關鍵詞) performance art en_US dc.subject (關鍵詞) cyber-physical interactive en_US dc.subject (關鍵詞) programming support en_US dc.subject (關鍵詞) domain specific language en_US dc.subject (關鍵詞) WYSIWYW editor en_US dc.title (題名) 支援虛實互動展演之程式環境 zh_TW dc.title (題名) Programming Support for Cyber-Physical Interactive Performance Art en_US dc.type (資料類型) thesis en dc.relation.reference (參考文獻) [1] Hsin Huang, Hsin-Chien Huang, Chun-Feng Liao, Ting-Chun Li, Tzzu-Chieh Tsai, Li-jia Teng, Future Circus: A Performer-Guided Mixed-reality Performance Art, 2015, International Symposium on Wearable Computers[2] Sorensen, Andrew(2005) , Impromptu : an interactive programming environment for composition and performance. In: Proceedings of the Australasian Computer Music Conference 2009, 2-4 July 2009, Queensland University of Technology, Brisbane.[3] Ingo Maier Martin Odersky., Deprecating the Observer Pattern with Scala.React, EPFL-REPORT-176887[4] P. Hudak., Modular domain specific languages and tools., In P. Devanbu and J. Poulin, editors, Proceeding of the 5th International Conference on Software Reuse (ICSR`98), pages 134-142. IEEE, 1998.[5] Martin Fowler., Domain specific languages., Addison-Wesley Professional, 2010[6] H. Conrad Cunningham., A Little Language for Surveys: Constructing an Internal DSL in Ruby.[7] Daan Leijen and Erik Meijer, Domain Specific Embedded Compilers, Proceedings of DSL`99: The 2nd Conference on Domain-Specific Languages, Austin, Texas, USA, October 3–6, 1999[8] Carl Hewitt; Peter Bishop and Richard Steiger., A Universal Modular Actor For-malism for Artificial Intelligence., IJCAI. 1973.[9] Gul A. Agha, Actors: A Model of Concurrent Computation In Distributed Sys-tems., 1985[10] Akka Scala Documentation, Release 2.4-SNAPSHOT, Typesafe Inc.[11] Evan Czaplicki, Elm: Concurrent FRP for Functional GUIs, 2012[12] Zhanyong Wan, Paul Hudak, Functional Reactive Programming from First Principles, PLDI `00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation Pages 242-252[13] Debasish Ghosh, Anshinsoft , DSL for the Uninitiated, June 1, 2011[14] Mike Dewar, Getting Start with D3, O`Reilly, 2012[15] 謝忠和, 全民做遊戲 Unity 3D 跨平台遊戲開發寶典, 2012[16] DIPS DSL, https://github.com/NCCUCS-PLSM/scala-dsl[17] DIPS Demo, https://github.com/NCCUCS-PLSM/dsl-demo[18] DIPS Demo Unity Part, https://github.com/NCCUCS-PLSM/dsl-engine-unity[19] Martin Fowler, Work in progress, http://martinfowler.com/dslwip/, 2007.[20] Reactive Streams, http://www.reactive-streams.org[21] vFavbric team , Choosing Your Messaging Protocol: AMQP, MQTT, or STOMP, http://blogs.vmware.com/vfabric/2013/02/choosing-your-messaging-protocol-amqp-mqtt-or-stomp.html[22] Phidgets 1056 user guide, http://www.phidgets.com/docs/1056_User_Guide[23] MIT Scratch extension, http://wiki.scratch.mit.edu/wiki/Scratch_Extension[24] Google Blockly, https://github.com/google/blockly[25] Arvin Hsieh, [Design Pattern] 觀察者模式 (Observer Pattern) 我也能夠辦報社, http://www.dotblogs.com.tw/joysdw12/archiver/2013/03/13/96531.aspx[26] 邓际锋, 函数式反应型编程(FRP) — 实时互动应用开发的新思路, InfoQ, 2013, http://www.infoq.com/cn/articles/functional-reactive-programming[27] CC數位學習網, Unity 3D 教學, http://www.cg.com.tw/Unity zh_TW