學術產出-NSC Projects

Article View/Open

Publication Export

Google ScholarTM

政大圖書館

Citation Infomation

  • No doi shows Citation Infomation
題名 以Scala研發函數反應式之智慧環境領域專屬語言
作者 陳恭
貢獻者 資訊科學系
關鍵詞 智慧環境;嵌入式領域專屬語言;函數式反應程式
Smart environment; Domain-specific embedded language;Functional reactive programming
日期 2015
上傳時間 26-Dec-2017 17:47:56 (UTC+8)
摘要 近年來,隨著資通訊科技的快速發展,各式嵌入式計算與感測裝置(sensor)微型化,我們得以將具備計算能力的裝置嵌入至各式日常生活的物品、傢俱與家電中。這些微型感測裝置能夠感知環境及使用者的相關資訊,再藉由軟體應用程式整合協調,得以推測使用者意圖並提供適當的服務,形成所謂具情境感知能力的智慧環境。智慧環境中要控制分散在環境中的感測設備,應用程式會有一定的複雜度;再加上為了具備情境感知的能力,軟體應用程式邏輯通常由外在的情境資訊(Contexts)觸發,再據以提供特定的計算服務,因此具有「反應式(Reactive)」的特性,造成傳統程序式(imperative)的程思維無法妥善應用在智慧環境中軟體開發。本計劃以反應式系統為基礎,發展一套可用於智慧環境應用程式,比較高階抽象的程式語言工具,旨在透過提供邏輯上較為清淅,可維護性較高的程式語言工具,以簡化程式開發的工作,降低開發者的負擔。具體而言,我們參照了函數式反應程式(functional reactiveprogramming)的概念與理,定義適合智慧環境應用程式的各種領域專屬抽象。再以Scala 語言為基礎,發展一函數反應程式嵌入式領域專屬語言(domain-specific embedded language)以支援這些領域抽象。並搭配Scala 程式庫工具—Akka,開發支援此程式語言的中介層服務,建構一個模擬環境與開發工具,以展示我們所支援的智慧環境應用程式。我們實際開發了數個展示程式來評估本計劃之成效,此外,我們也特別針對數位互動展演的穿戴式裝置應用,進行了實測。
In recent years, with the rapid development of ICT technology, all kinds of embedded computing and sensing device miniaturization, we were able to have the device of a variety of embedded computing power in everyday items, furniture and household appliances. These miniature-sensing
devices can sense the environment and user-related information to form the so-called context. With the context information, we can develop application systems that will infer from the context the presumed intention of the user to provide appropriate services, thus forming the so-called contextawar smart environment. However, due to the distributed and concurrent nature of the devices operating in a smart environment, it is not
easy to develop such context-aware applications using traditional imperative programming. Developers have to deal with many complex issues such as asynchronous events and temporal requirements, which are tedious and error-prone. Indeed, many researchers have proposed to follow the
reactive programming style to develop applications for smart environments. This project developed a Scala-based domain-specific reactive language for programming smart environments that supports functional reactive programming. Specifically, we first formulate the domain-specific abstractions appropriate for programming smart environments based on functional reactive programming. Then we implement these domain abstractions and their associated operations into Scala using language-embedding techniques, thus resulting in a domain-specific embedding language (DSEL) in Scala. In the meantime, we also develop a middle-level facility based on Scala Akka library to provide the interface between our language and the underlying smart environments that works as a simulation environment for our project. Finally, we develop a programming tool and implement a few applications using sensors on top of the simulation environment to demonstrate and evaluate our language and its facilities
關聯 執行起迄:2015/08/01~2016/10/31
104-2221-E-004-002
資料類型 report
dc.contributor 資訊科學系zh_Tw
dc.creator (作者) 陳恭zh_TW
dc.date (日期) 2015en_US
dc.date.accessioned 26-Dec-2017 17:47:56 (UTC+8)-
dc.date.available 26-Dec-2017 17:47:56 (UTC+8)-
dc.date.issued (上傳時間) 26-Dec-2017 17:47:56 (UTC+8)-
dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/115440-
dc.description.abstract (摘要) 近年來,隨著資通訊科技的快速發展,各式嵌入式計算與感測裝置(sensor)微型化,我們得以將具備計算能力的裝置嵌入至各式日常生活的物品、傢俱與家電中。這些微型感測裝置能夠感知環境及使用者的相關資訊,再藉由軟體應用程式整合協調,得以推測使用者意圖並提供適當的服務,形成所謂具情境感知能力的智慧環境。智慧環境中要控制分散在環境中的感測設備,應用程式會有一定的複雜度;再加上為了具備情境感知的能力,軟體應用程式邏輯通常由外在的情境資訊(Contexts)觸發,再據以提供特定的計算服務,因此具有「反應式(Reactive)」的特性,造成傳統程序式(imperative)的程思維無法妥善應用在智慧環境中軟體開發。本計劃以反應式系統為基礎,發展一套可用於智慧環境應用程式,比較高階抽象的程式語言工具,旨在透過提供邏輯上較為清淅,可維護性較高的程式語言工具,以簡化程式開發的工作,降低開發者的負擔。具體而言,我們參照了函數式反應程式(functional reactiveprogramming)的概念與理,定義適合智慧環境應用程式的各種領域專屬抽象。再以Scala 語言為基礎,發展一函數反應程式嵌入式領域專屬語言(domain-specific embedded language)以支援這些領域抽象。並搭配Scala 程式庫工具—Akka,開發支援此程式語言的中介層服務,建構一個模擬環境與開發工具,以展示我們所支援的智慧環境應用程式。我們實際開發了數個展示程式來評估本計劃之成效,此外,我們也特別針對數位互動展演的穿戴式裝置應用,進行了實測。zh_TW
dc.description.abstract (摘要) In recent years, with the rapid development of ICT technology, all kinds of embedded computing and sensing device miniaturization, we were able to have the device of a variety of embedded computing power in everyday items, furniture and household appliances. These miniature-sensing
devices can sense the environment and user-related information to form the so-called context. With the context information, we can develop application systems that will infer from the context the presumed intention of the user to provide appropriate services, thus forming the so-called contextawar smart environment. However, due to the distributed and concurrent nature of the devices operating in a smart environment, it is not
easy to develop such context-aware applications using traditional imperative programming. Developers have to deal with many complex issues such as asynchronous events and temporal requirements, which are tedious and error-prone. Indeed, many researchers have proposed to follow the
reactive programming style to develop applications for smart environments. This project developed a Scala-based domain-specific reactive language for programming smart environments that supports functional reactive programming. Specifically, we first formulate the domain-specific abstractions appropriate for programming smart environments based on functional reactive programming. Then we implement these domain abstractions and their associated operations into Scala using language-embedding techniques, thus resulting in a domain-specific embedding language (DSEL) in Scala. In the meantime, we also develop a middle-level facility based on Scala Akka library to provide the interface between our language and the underlying smart environments that works as a simulation environment for our project. Finally, we develop a programming tool and implement a few applications using sensors on top of the simulation environment to demonstrate and evaluate our language and its facilities
en_US
dc.format.extent 629678 bytes-
dc.format.mimetype application/pdf-
dc.relation (關聯) 執行起迄:2015/08/01~2016/10/31zh_TW
dc.relation (關聯) 104-2221-E-004-002zh_TW
dc.subject (關鍵詞) 智慧環境;嵌入式領域專屬語言;函數式反應程式zh_TW
dc.subject (關鍵詞) Smart environment; Domain-specific embedded language;Functional reactive programmingen_US
dc.title (題名) 以Scala研發函數反應式之智慧環境領域專屬語言_TW
dc.type (資料類型) report