| 研究生: |
劉智中 Liou, Jhih-Jhong |
|---|---|
| 論文名稱: |
嵌入式系統程式自動評測系統─以樹莓派為例 Embedded System Program Automatic Evaluation System Taking Raspberry Pi as an Example |
| 指導教授: |
陳敬
Chen, Jing 戴顯權 Tai, Shen-Chuan |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電機工程學系 Department of Electrical Engineering |
| 論文出版年: | 2024 |
| 畢業學年度: | 112 |
| 語文別: | 中文 |
| 論文頁數: | 109 |
| 中文關鍵詞: | 嵌入式系統 、自動評測 、模擬器 |
| 外文關鍵詞: | embedded system, automatic evaluation, simulator |
| 相關次數: | 點閱:51 下載:6 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本論文研究設計一個關於嵌入式系統軟體功能正確性的自動評測系統,可用於嵌入式系統課程的程式作業評量。目前的技術已經可用軟體的方式模擬嵌入式系統的環境,並得出嵌入式系統程式會操控周邊裝置做出的行為(周邊裝置在每個時刻都會有對應的狀態,而特定時間區間內每個時刻的周邊裝置的狀態的集合稱為該時間區間內時周邊裝置的行為),但是由於嵌入式系統要達到特定效果時可用多種行為來實現(意即特定時刻特定裝置的狀態可能不固定),故只靠軟體模擬的方式檢驗特定時刻的裝置是否為指定狀態的作法,無法評測程式可能具有行為多樣性的題目類型。本研究基於此開發了一套自動評測系統,此系統中會應用軟體模擬嵌入式系統的方式,分析受測程式執行於嵌入式系統開發平台時會操控周邊裝置做出的行為,並且提供一套評測規則開發工具,讓題目的評測規則開發人員可以分析該行為是否符合題目所要求之效果;評測系統執行時會將周邊裝置每個時刻的狀態紀錄至一個檔案,然後評測系統會以該檔案的資料和開發人員所制定的評測規則為依據來判斷受測程式之正確性。
This paper studies and designs an automatic evaluation system for the correctness of embedded system software functions, which can be used for evaluating program assignments in embedded system courses. At present, software can be used to simulate the environment of embedded systems and obtain the behavior that the embedded system program manipulates peripheral devices (peripheral devices have corresponding states at each moment, and the set of states of peripheral devices at each moment within a specific time interval is called the behavior of the peripheral output device within that time interval). However, Embedded systems can use a variety of behaviors to achieve specific effects (that is, the state of a specific device at a specific moment may not be fixed). Therefore, relying only on software simulation to check whether the device is in a specified state at a specific moment cannot evaluate the answers of questions with behavioral diversity. Based on this, this study developed an automatic evaluation system. This system uses software to simulate embedded systems, and analyzes the behavior of the peripheral devices that the tested program will control when executed on the embedded system development platform. It also provides a set of evaluation rule development tools so that the evaluation rule developers of the questions can analyze whether the behavior meets the requirements of the questions. When the evaluation system is executed, it will record the status of the peripheral device at each moment to a file, and then the evaluation system will judge the correctness of the program under test based on the data in the file and the evaluation rules established by the developers.
[1] UVa Online Judge官方網站, [Online] Available: https://onlinejudge.org, accessed on 2024-07-16.
[2] LeetCode官方網站, [Online] Available: https://leetcode.com, accessed on 2024-07-16.
[3] 大學課程資訊網, [Online]Available: https://course-tvc.yuntech.edu.tw/webU/index.aspx, accessed on 2024-07-16.
[4] Szymon Wasik, Maciej Antczak, Jan Badura, Artur Laskowski, Tomasz Sternal, “A Survey on Online Judge Systems and Their Applications,” ACM Computing Surveys, Volume 51, Issue 1, Page 34, 2019.
[5] Forsythe ,Wirth, “Automatic grading programs,” Communications of the ACM, Volume 8, Issue 5, Pages 275-278, 1965.
[6] ICPC官方網站, [Online] Available: https://icpc.global, accessed on 2024-07-16.
[7] IOI官方網站, [Online] Available: https://tpmso.org/toi/index.php/about, accessed on 2024-07-16.
[8] CPE官方網站, [Online] Available: https://cpe.cse.nsysu.edu.tw, accessed on 2024-07-16.
[9] Kurnia, Lim, Cheang, “Online judge,” Computers & Education, volume 36, Issue 4, Pages 299-315, 2001.
[10] 黑箱測試-維基百科, [Online] Available: https://zh.wikipedia.org/zh-tw/%E9%BB%91%E7%9B%92%E6%B5%8B%E8%AF%95, accessed on 2024-07-16.
[11] Input Output Redirection in Linux, [Online] Available: https://www.geeksforgeeks.org/input-output-redirection-in-linux/, accessed on 2024-07-16.
[12] 沙盒(電腦安全)-維基百科, [Online] Available: https://zh.wikipedia.org/wiki/%E6%B2%99%E7%9B%92_(%E9%9B%BB%E8%85%A6%E5%AE%89%E5%85%A8), accessed on 2024-07-16.
[13] Jong-Yih Kuo, Zhi-Jia Wen, Han-Xuan Huang, I-Ting Guo, “A Study on the Security of Online Judge System Applied Sandbox Technology,” 2022 IEEE/ACIS 23rd International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, Pages 168-172, 2022.
[14] MA Revilla, S Manzoor, R Liu, “Competitive Learning in InformatICs:The UVa Online Judge Experience,” Olympiads in Informatics, 2008.
[15] Deschamps, “Synthesis Of Arithmetic Circuits: Fpga, Asic And Embedded Systems,” John Wiley & Sons Inc, 2006.
[16] 單板機-維基百科, [Online] Available: https://zh.wikipedia.org/zh-tw/%E5%8D%95%E6%9D%BF%E6%9C%BA, accessed on 2024-07-16.
[17] “Foundation Strategy 2016–2018,” Raspberry Pi Foundation, 2016.
[18] 樹莓派實體圖, [Online] Available: https://tw.element14.com/raspberry-pi/rpi4-modbp-8gb/raspberry-pi-4-model-b-cortex/dp/3369503, accessed on 2024-07-16.
[19] WiringPi官方網站, [Online] Available: http://Wiringpi.com, accessed on 2024-07-16.
[20] Kangbok Seo, Junhyung Kim, Woojin Lee, “Arduino practice judgment system based on function execution log in virtual execution environment,” Computer Applications in Engineering Education, 2023.
[21] Sang-Young Cho, “A virtual simulation package for Embedded System training and education,” 2009 International Conference on Engineering Education, 2010.
[22] Heuiseok Lim, HeonChang Yu, Taeweon Suh, “Using virtual platform in embedded system education,” Computer Applications in Engineering Education, Volume 20, Issue 2, Page 346-355, 2012.
[23] wokwi官方網站, [Online] Available: https://wokwi.com, accessed on 2024-07-16.
[24] 郭春暉, “微控制器應用課程之網宇實體實驗室及自動評測系統,” 國立成功大學資訊工程研究所碩士論文, 2015
[25] “MAX7219 Datasheet,” Maxim Integrated Products.