博碩士論文 107522070 詳細資訊




以作者查詢圖書館館藏 以作者查詢臺灣博碩士 以作者查詢全國書目 勘誤回報 、線上人數:13 、訪客IP:3.236.222.124
姓名 廖信惠(Sin-Huei Liao)  查詢紙本館藏   畢業系所 資訊工程學系
論文名稱 在Java程式語言中以雙向結構表達數學公式間關聯之設計與實作
(The design and implementation of a framework supporting bidirectional relations for mathematical equations in Java)
相關論文
★ 條件判斷式事件驅動程式設計之C語言擴充★ 以演算法程式設計競賽試題為例使用Big-O AST靜態分析函式時間複雜度
★ 流程圖式特定領域語言之設計與實作★ TOCTOU 漏洞的靜態分析與實作
★ 用於繪製風力發電控制邏輯之特定領域語言★ 支援模組化規則製作之程式碼轉換工具
★ 基於替代語意的 pandas DataFrame 靜態型別檢查器★ 自動化時間複雜度分析的設計與實作–從軟體層面評估嵌入式系統的功率消耗
★ 以震波層析成像為應用之特定領域語言實作與分析
檔案 [Endnote RIS 格式]    [Bibtex 格式]    [相關文章]   [文章引用]   [完整記錄]   [館藏目錄]   至系統瀏覽論文 (2025-8-1以後開放)
摘要(中) 在許多數理應用領域之中,時常會使用數學符號對應特定事物去組成公式,以表達特定的計算關係。 並且,公式中變數間所對應的關係並不會更動。 再加上使用公式計算的時候,其結果可能會被接著帶入其他公式,進而去計算另外的變數數值。 而這種兩公式之間擁有一對互相影響的變數的情況,是本篇論文要探討的使用情境, 因此,本篇提出 System of Equations(SoEs)架構。

SoEs 架構會抽象化數學公式中變數間的關係,再把實際數值計算與更動交由 Relation 結構去管理, 以提供使用者去包裝成一個公式間存在變數關聯,但公式與數值之間卻不綁定的情況。 Relation 結構中, 擁有多種使用者在目標情境下,可能會需要的行為函式,讓使用者對公式之間的運算能更為簡單地以一組 SoEs 架構進行更新與操作。 並且在不需要知道細部更新如何在公式間傳遞的情況下,讓 SoEs 架構代替使用者對變數數值自動地進行雙向更新,以及公式之間更新的傳遞。

評估之後,該架構的確能在抽象性上,以行數較少、較容易替換公式與變數型態等特性,去證明 SoEs 架構能有效降低使用者建構公式間關聯情境的成本。並且在結尾提出該架構在未來可能的發展。
摘要(英) In many mathematical fields, symbols are usually used to represent specific physical quantities. Equations are composed by symbols, and the relation between symbols will not be changed. We consider a scenario that two equations have a relation in between. It would make a variable computed by one equation could then be recomputed by a different equation to get the final result. We propose the structure of System of Equations (SoEs) which contains two Equations and a pair of related variables.

SoEs abstracts the relation between each variable in equation and makes the actual values be managed by a Relation structure. It also provides several methods that user might need. After user updates a variable, SoEs would automatically propagate the changes in the scenario. Without knowing the detail of the actual behavior, user could use SoEs to maintain the balance of every relation. We showed that SoEs structure is easy for user to construct scenarios by an evaluation on abstraction of our work and reduced lines of code.
關鍵字(中) ★ 數學公式抽象化
★ 自動更新
★ 數學公式關聯系統
★ 雙向計算
關鍵字(英)
論文目次 摘要 i
Abstract ii
目錄 iv
圖目錄 vii
表目錄 viii
一、 緒論 1
二、 研究動機 4
2.1 動機實例 .................................................................. 4
2.2 Naive 實作 ................................................................ 5
2.3 使用 Map 結構的實作.................................................. 6
2.4 使用 Map 結構實作公式間的關聯................................... 9
2.5 利用 Reactive programming 維持更新一致性 .................... 11
2.6 現行實作的問題 ......................................................... 12
三、 提案 14
3.1 Equation 結構............................................................ 14
3.1.1 Equation 結構中展現變數間的關聯........................ 15
3.1.2 Equation 結構中重新計算的機制........................... 16
3.1.3 Equation 結構所包含的基礎公式資訊..................... 18
3.2 Relation 結構 ............................................................ 18
3.2.1 管理不同公式的實際數值 .................................... 19
3.2.2 利用 Relation 結構維持公式間更新的一致性............ 20
3.3 本章節的結論 ............................................................ 21
四、 實作 22
4.1 使用 Java 實作........................................................... 22
4.2 System of Equations 架構............................................. 23
4.3 Equation 類別............................................................ 25
4.3.1 Expression 結構 ................................................ 25
4.3.2 利用 Expression 完成重新計算 ............................. 27
4.4 Relation 類別 ............................................................ 29
4.4.1 建立 Relation 物件............................................. 29
4.4.2 資料儲存的結構 ................................................ 30
4.4.3 SoEs 架構下的 Multi-directional Reactive ............... 31
4.4.4 Equation 物件的替換.......................................... 32
五、 評估與討論 33
5.1 使用情境 .................................................................. 33
5.1.1 最簡單的使用情境 ............................................. 33
5.1.2 其他使用情境的差異 .......................................... 34
5.2 比較對象 .................................................................. 35
5.2.1 Naive .............................................................. 36
5.2.2 Observer pattern ............................................... 36
5.3 抽象性 ..................................................................... 37
5.3.1 運算關係的數量評估 .......................................... 37
5.3.2 變數型態改變變動評估 ....................................... 38
5.3.3 相同數學公式應用於不同使用情境的評估 ............... 39
5.3.4 評估更動在多個候選變數下的處理方式 .................. 40
5.3.5 抽象性比較的結論 ............................................. 41
5.4 基礎公式型態的行數比較引出所有案例比較 ..................... 42
5.4.1 建立運算關係 ................................................... 42
5.4.2 完成使用情境 ................................................... 44
5.4.3 數值更新 ......................................................... 44
5.4.4 優劣討論 ......................................................... 45
5.5 case study 的實作評估 ................................................. 46
5.5.1 使用 SoEs 建立 case study 的使用情境................... 47
5.5.2 使用 Observer Pattern 建立 case study 的使用情境 . . . 49
5.5.3 對使用情境進行更新 .......................................... 50
六、 相關研究 52
6.1 Reactive Programming................................................. 52
6.1.1 SignalJ ............................................................ 52
6.1.2 Coherent.......................................................... 53
6.1.3 Propagator ....................................................... 53
6.2 Symbolic Computation................................................. 54
6.3 Constraint Satisfication ................................................ 54
七、 總結 56
參考文獻 59
參考文獻 [1] W. Contributors, Ideal gas law, Wikipedia, Feb. 2019. [Online]. Available: https: //en.wikipedia.org/wiki/Ideal_gas_law (visited on 05/25/2020).
[2] ——, Conversion of units of temperature, Wikipedia, Apr. 2020. [Online]. Available: https://en.wikipedia.org/wiki/Conversion_of_units_of_temperature (visited on 05/25/2020).
[3] K. R. Dittrich, A. M. Kotz, and J. A. Mülle, “An event/trigger mechanism to en- force complex consistency constraints in design databases,” SIGMOD Rec., vol. 15, no. 3, pp. 22–36, Sep. 1986, issn: 0163-5808. doi: 10.1145/15833.15836. [Online]. Available: https://doi.org/10.1145/15833.15836.
[4] T. Kamina and T. Aotani, “Harmonizing signals and events with a lightweight extension to java,” CoRR, vol. abs/1803.10199, 2018. arXiv: 1803.10199. [Online]. Available: http://arxiv.org/abs/1803.10199.
[5] E. Bainomugisha, A. L. Carreton, T. v. Cutsem, S. Mostinckx, and W. d. Meuter, “A survey on reactive programming,” ACM Comput. Surv., vol. 45, no. 4, Aug. 2013, issn: 0360-0300. doi: 10.1145/2501654.2501666. [Online]. Available: https: //doi.org/10.1145/2501654.2501666.
[6] J. Edwards, “Coherent reaction,” in Proceedings of the 24th ACM SIGPLAN Con- ference Companion on Object Oriented Programming Systems Languages and Appli- cations, ser. OOPSLA ’09, Orlando, Florida, USA: Association for Computing Ma- chinery, 2009, pp. 925–932, isbn: 9781605587684. doi: 10.1145/1639950.1640058. [Online]. Available: https://doi.org/10.1145/1639950.1640058.
[7] A. Radul and G. J. Sussman, “The (abridged) art of the propagator,” in Proceedings of the 2009 International Lisp Conference, 2009, pp. 41–56.
[8] A. Margara and G. Salvaneschi, “On the semantics of distributed reactive pro- gramming: The cost of consistency,” IEEE Transactions on Software Engineering, vol. 44, no. 7, pp. 689–711, 2018.
[9] W. Contributors, Abstract syntax tree, Wikipedia, Aug. 2019. [Online]. Available: https://en.wikipedia.org/wiki/Abstract_syntax_tree (visited on 05/25/2020).
[10] L. Bernardin, B. Char, and E. Kaltofen, “Symbolic computation in java: An ap- praisement,” in Proceedings of the 1999 International Symposium on Symbolic and Algebraic Computation, ser. ISSAC ’99, Vancouver, British Columbia, Canada: Association for Computing Machinery, 1999, pp. 237–244, isbn: 1581130732. doi: 10.1145/309831.309946. [Online]. Available: https://doi.org/10.1145/ 309831.309946.
[11] A. C. Norman, “Further evaluation of java for symbolic computation,” in Proceed- ings of the 2000 International Symposium on Symbolic and Algebraic Computation, ser. ISSAC ’00, St. Andrews, Scotland: Association for Computing Machinery, 2000, pp. 258–265, isbn: 1581132182. doi: 10.1145/345542.345647. [Online]. Available: https://doi.org/10.1145/345542.345647.
[12] T. F. Bissyandé, F. Thung, D. Lo, L. Jiang, and L. Réveillère, “Popularity, interop- erability, and impact of programming languages in 100,000 open source projects,” in 2013 IEEE 37th Annual Computer Software and Applications Conference, 2013, pp. 303–312.
[13] L. Gherardi, D. Brugali, and D. Comotti, “A java vs. c++ performance evalua- tion: A 3d modeling benchmark,” in Simulation, Modeling, and Programming for Autonomous Robots, I. Noda, N. Ando, D. Brugali, and J. J. Kuffner, Eds., Berlin, Heidelberg: Springer Berlin Heidelberg, 2012, pp. 161–172, isbn: 978-3-642-34327-8.
[14] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. USA: Addison-Wesley Longman Publishing Co., Inc., 1995, isbn: 0201633612.
[15] J. Sussman, H. Abelson, and G. J. Sussman, Instructors manual to accompany structure and interpretation of computer programs, 2nd. Mit Press, 1998, pp. 341– 400. [Online]. Available: https://web.mit.edu/alexmv/6.037/sicp.pdf? fbclid=IwAR0x3Hdo0kRoQNHBT9JbtnG9PHVuRIfyUoe-U7uz0-bm5BbIjA0pAPwF-Qc (visited on 05/15/2020).
[16] I. Universal Technical Systems, Tk solver , www.uts.com. [Online]. Available: https: //www.uts.com/Products/Tksolver (visited on 05/15/2020).
[17] E. Tsang and T. Fruehwirth, Foundations of Constraint Satisfaction: The Classic Text. Books on Demand, 2014, isbn: 9783735723666. [Online]. Available: https: //books.google.com.tw/books?id=UFmRAwAAQBAJ.
[18] A. van Deursen, P. Klint, and J. Visser, “Domain-specific languages: An annotated bibliography,” SIGPLAN Not., vol. 35, no. 6, pp. 26–36, Jun. 2000, issn: 0362-1340. doi: 10.1145/352029.352035. [Online]. Available: https://doi.org/10.1145/ 352029.352035.
指導教授 莊永裕 審核日期 2020-7-24
推文 facebook   plurk   twitter   funp   google   live   udn   HD   myshare   reddit   netvibes   friend   youpush   delicious   baidu   
網路書籤 Google bookmarks   del.icio.us   hemidemi   myshare   

若有論文相關問題,請聯絡國立中央大學圖書館推廣服務組 TEL:(03)422-7151轉57407,或E-mail聯絡  - 隱私權政策聲明