帳號:guest(3.145.174.51)          離開系統
字體大小: 字級放大   字級縮小   預設字形  

詳目顯示

以作者查詢圖書館館藏以作者查詢臺灣博碩士論文系統以作者查詢全國書目
作者(中文):宋瑞豐
作者(外文):Sung, Jui-Feng
論文名稱(中文):Sysmaker:物聯網裝置之設計與測試自動化協作平台
論文名稱(外文):Sysmaker: Collaborative Platform for Design Automation and Test of IoT Devices
指導教授(中文):周百祥
指導教授(外文):Chou, Pai H.
口試委員(中文):韓永楷
周志遠
口試委員(外文):Hon, Wing-Kai
Chou, Jerry
學位類別:碩士
校院名稱:國立清華大學
系所名稱:資訊工程學系
學號:107062526
出版年(民國):109
畢業學年度:108
語文別:英文
論文頁數:66
中文關鍵詞:協作平台物聯網裝置設計自動化特徵切片方塊圖電子設計自動化電腦輔助設計設計方法論嵌入式系統
外文關鍵詞:collaborative platformIoT devicedesign automationfeature aspectblock diagramelectronic design automationcomputer-aided designdesign methodologyembedded system
相關次數:
  • 推薦推薦:0
  • 點閱點閱:1350
  • 評分評分:*****
  • 下載下載:95
  • 收藏收藏:0
Sysmaker是一套網頁式的協同設計工具鏈,協助應用專家、嵌入式系統設計師與電路實作工程師共同設計與測試物聯網裝置。此類跨領域共同開發專案在執行上的困難,主要歸咎於應用端的需求無法完全以正式且明文的方式表達,使得系統設計與實作必須基於半猜臆的方式完成,經反覆實際測試後才得以確認是否符合應用需求與設計限制。如此迭代調整與修正設計的方式,除需高昂的製造成本,也容易導致計畫進度延宕。此外,硬體設計階段未發現的設計錯誤,往往需要依賴後續以非正規韌體的方式加以解決,造成韌體在維護與重用上的困擾。
為了解決上述問題,我們提出Sysmaker協作平台,用以支援專案的合作開發,並即時提醒或修正瑣碎且容易出錯的實作細節。專案開發時,應用專家使用Sysmaker的繪圖編輯器,以高階方塊圖表達出應用需求,讓系統設計師用以轉述為技術規格,以便交由電路實作工程師實作。在不同的設計階段,平台將輔助維護不同抽象層之間功能間需求與滿足的關係。利用細節程度不同的方塊圖與電路圖建立出的模型,讓Sysmaker可以支援更多設計自動化演算法,例如元件的挑選最佳化與自動連接等。這樣的的設計方法論,預期可輔助此類跨領域團隊減少潛在的設計錯誤,並加速設計出符合需求、正確、易改版和最佳化的物聯網裝置。
Sysmaker is a web-based tool for application experts, embedded system designers, and system implementers to collaborate on designing and testing of IoT devices. Current design practices are inefficient, because application experts convey requirements informally, implicitly, and incompletely, often until too late in the design cycle. As a result, such projects often suffer costly design respin or rely on firmware workarounds that are difficult to maintain and are not reusable.
To address these problems, our proposed Sysmaker supports co-authoring between the application experts and system designers and assists with error-prone tasks in schematic implementation. The domain expert expresses requirements in high-level diagrams, and the system designer refines them into a technical spec that can be implemented as a schematic while maintaining the relationship across levels of abstraction. Sysmaker also aids selection of off-the-shelf components that meet the application requirements and interface synthesis to complete the inter-component connections. The proposed methodology is expected to result in correct, optimized design that can be extended.
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Challenge of Collaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Challenge with Incomplete Specs . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.3 Component Obsolescence and Product Evolution . . . . . . . . . . . . . . . 3
1.2 Sysmaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Integrated Development Environment . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Collaborative Design Platform . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3 Knowledge Acquisition, Simplification, and Synchronization . . . . . . . . . 5
1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Background and Related Work 7
2.1 Current Design Practices for Edge Devices . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Validation Processes of Product Lifecycle Management . . . . . . . . . . . . . . . . 9
2.3 Existing Design Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Methodology 11
3.1 Roles in Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.1 Application Expert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.2 System Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.3 System Implementer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Design Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.1 Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.2 Top-down Diagram Refinement . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.3 Bottom-Up Abstraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Design Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.1 Component Selection Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.2 Interface Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4 Design Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4 Sysmaker Concepts 23
4.1 Sysmaker Usages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.1 Logging in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.2 Diagram Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.3 Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.4 Design Collaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.5 Design Export and Import . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2 Modeling Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2.1 Component and Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.2 Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.3 Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.4 Connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2.5 Feature and Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3 Feature Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.1 Feature Database and Feature Composition . . . . . . . . . . . . . . . . . . 30
4.3.2 Feature Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.3 Feature Flow and Feature Coupling . . . . . . . . . . . . . . . . . . . . . . 32
4.3.4 Feature Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3.5 Feature Pool and Feature Guard . . . . . . . . . . . . . . . . . . . . . . . . 36
4.3.6 Feature Carrier and Feature Proxy . . . . . . . . . . . . . . . . . . . . . . . 36
4.4 Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.4.1 Levels of Abstraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.4.2 Entity-Architecture Relationship . . . . . . . . . . . . . . . . . . . . . . . . 37
4.4.3 Block-BlockView Association and Port Exposure . . . . . . . . . . . . . . . 38
4.4.4 Core Relationships Between Modeling Concepts . . . . . . . . . . . . . . . 40
5 SysModel 41
5.1 Overview of SysModel: SysDesign . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 SysLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.1 Topology Layer and Supporting Layers . . . . . . . . . . . . . . . . . . . . 43
5.3 SysBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.3.1 SysPort and SysLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3.2 SysComponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3.3 SysConnector and SysWire . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6 Technical Approach 46
6.1 Platform Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.1.1 Actors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.1.2 Service Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.1.3 Code Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.2 Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.2.1 Implementation Language . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.2.2 Frontend Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.2.3 Static Analysis and Language Server Protocol . . . . . . . . . . . . . . . . . 51
6.3 Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.3.1 Backend Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7 Evaluation 54
7.1 EcoMini Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.1.1 Design Modeling of EcoMini . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.1.2 EOL Component Replacement . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.2 Comparison of Existing Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8 Conclusions and Future Work 60
8.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Acronyms 64
[1] National Instruments, “PCB design fundamentals: Prototyping and the PCB design flow (Figure 2 - Design Flow).” https://www.ni.com/zh-tw/innovations/white-papers/10/pcb-design-fundamentals--prototyping-and-the-pcb-design-flow.html, 2010.
[2] QualiEco Circuits Ltd., “PCB design guidelines - PCB design flow chart.” https://www.qualiecocircuits.co.nz/pcb-design-flowchart.htm, no date.
[3] M. D. P. Emilio, “Chapter 7 - design PCB for embedded system,” in Embedded Systems Design for High-Speed Data Acquisition and Control, pp. 119–129, One New York Plaza, Suite 4600, New York, NY 10004-1562, USA: Springer, 2015.
[4] S. Sattel, “The top 10 things to know about the Internet of Things (IoT) as a PCB designer.” https://www.autodesk.com/products/eagle/blog/top-10-things-about-iot-pcb-designer/, 2017.
[5] J. M. Santiago Silvestre, Jordi Salazar, “Section 5.1 - CAD software for PCB design,” in Printed Circuit Board (PCB) design process and fabrication, pp. 17–18, Technická 2, 166 27 Praha 6: Czech Technical University of Prague. Faculty of Electrical Engineering, 2019.
[6] H. Chen, S. Meenakshi, A. HeydatiGorji, S. M. Safavi, P. H. Chou, C.-T. Lee, and R.-K. Chang, “Bluebox: A complete recorder for code-blue events in hospitals,” in 2019 International Symposium on VLSI Design, Automation and Test (VLSI-DAT), pp. 1–4, IEEE, IEEE, 2019.
[7] Jupyter, “Jupyter notebook.” https://jupyter.org, 2015.
[8] Microsoft, “Visual Studio Code (VS Code).” https://code.visualstudio.com, 2015.
[9] C. Li, L. Huang, L. Chen, and C. Yu, “BGG: A graph grammar approach for software architecture verification and reconfiguration,” in 2013 Seventh International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, pp. 291–298, IEEE, IEEE, 2013.
[10] TypeScript, “Using the Language Service API.” https://github.com/Microsoft/TypeScript/wiki/Using-the-Language-Service-API, 2015.
[11] Microsoft, “Language server protocol.” https://microsoft.github.io/language-server-protocol, 2016.
[12] STMicroelectronics, “STEVAL-STLKT01V1-SensorTile Development Kit.” https://www.st.com/en/evaluation-tools/steval-stlkt01v1.html, 2018.
 
 
 
 
第一頁 上一頁 下一頁 最後一頁 top
* *