Publications-Theses

Article View/Open

Publication Export

Google ScholarTM

NCCU Library

Citation Infomation

Related Publications in TAIR

題名 支援虛實互動展演之程式環境
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-Sep-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, Kungen_US
dc.contributor.author (Authors) 蕭奕凱zh_TW
dc.contributor.author (Authors) Hsiao, Yi Kaien_US
dc.creator (作者) 蕭奕凱zh_TW
dc.creator (作者) Hsiao, Yi Kaien_US
dc.date (日期) 2015en_US
dc.date.accessioned 1-Sep-2015 16:18:01 (UTC+8)-
dc.date.available 1-Sep-2015 16:18:01 (UTC+8)-
dc.date.issued (上傳時間) 1-Sep-2015 16:18:01 (UTC+8)-
dc.identifier (Other Identifiers) G1027530142en_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 (描述) 102753014zh_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 第一章 緒論 1
1-1 研究背景 1
1-2 研究動機與目的 4
1-3 研究成果 6
1-4 研究限制 7
1-5 論文大綱 8
第二章 相關研究 10
2-1 Programming Support of Performance Art 10
2-2 Domain Specific Language 11
2-3 Functional Reactive Programming 13
2-4 Message Queue Telemetry Transport 15
2-5 Scala 16
2-6 Unity 3D 18
2-7 Phidgets Sensor 19
2-8 WYSIWYG Editor 21
第三章 系統設計 22
3-1 採用之DIPS 語言設計研究 22
3-1-1架構 24
3-1-2 Signal 25
3-1-3 Rule 25
3-1-4 Syntax 26
3-1-5 Device 27
3-2 函數式程式設計用於抽象化時間 28
3-3 系統架構 31
3-4 裝置與腳本引擎溝通 34
3-5展演腳本函式庫 35
3-6 圖形化編輯器 - DIPS Creator 39
第四章 研究結果 41
4-1系統整合 41
4-2系統測試 41
4-3 系統測試結果 49
第五章 結論與未來工作 51
5-1 結論與研究貢獻 51
5-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/#G1027530142en_US
dc.subject (關鍵詞) 展演藝術zh_TW
dc.subject (關鍵詞) 虛實互動zh_TW
dc.subject (關鍵詞) 程式支援zh_TW
dc.subject (關鍵詞) 領域專屬語言zh_TW
dc.subject (關鍵詞) 所見即所得編輯器zh_TW
dc.subject (關鍵詞) performance arten_US
dc.subject (關鍵詞) cyber-physical interactiveen_US
dc.subject (關鍵詞) programming supporten_US
dc.subject (關鍵詞) domain specific languageen_US
dc.subject (關鍵詞) WYSIWYW editoren_US
dc.title (題名) 支援虛實互動展演之程式環境zh_TW
dc.title (題名) Programming Support for Cyber-Physical Interactive Performance Arten_US
dc.type (資料類型) thesisen
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