CNL2C: ویرایشگر، یک بررسی کننده نحوی و تولید کننده کد برای CNUIML با استفاده از Xtext و Xtend
Subject Areas : Computer EngineeringHosein Bahri 1 , Homayoon Motameni 2 , Behnam Barzegar 3
1 - گروه کامپیوتر و فناوری اطلاعات ، واحد بابل ، دانشگاه آزاد اسلامی ، بابل ، ایران
2 - گروه مهندسی کامپیوتر، واحد ساری، دانشگاه آزاد اسلامی ، ساری، ایران
3 - گروه مهندسی کامپیوتر، واحد بابل ، دانشگاه آزاد اسلامی ، بابل ، ایران
Keywords: زبان توصیف رابط کاربری, مدلسازی رابط کاربر مبتنی بر مدل, Xtext, Xtend, تولید کد خودکار,
Abstract :
توسعه کاربر نهایی (EUD) یک حوزه تحقیقاتی پویا در علوم کامپیوتر است که بر توانمندسازی کاربران نهایی برای ایجاد و اصلاح نرمافزار از طریق رویکردهای مختلف تمرکز دارد و دائماً با روشها و ابزارهای جدید در حال تکامل است. برای افزایش مشارکت کاربر نهایی، پژوهشها، توسعه ابزارهای کاربر پسند برای کاربران نهایی به منظور طراحی رابط کاربری، به علاوۀ کد منبع نهایی که از تجزیه و تحلیل و تبدیل خودکار این رابط کاربری به دست میآید، را پیشنهاد میکنند. برنامه نویسی زبان طبیعی کنترل شده از ویرایش محدود شده ای از یک زبان طبیعی برای کدنویسی استفاده می کند. این رویکرد دسترسی به برنامه نویسی را از طریق فراهم کردن امکان کدنویسی به زبانی آشنا توسط کاربران نهایی و درعین حال حفظ دقت و وضوح لازم، افزایش می دهد. این پژوهش توسعه زبان CNUIML و تولید یک ویرایشگر برای آن را با استفاده از Xtext بررسی کرده و به خطاهای نحوی و تولید کد مقصد با استفاده از Xtext و Xtend می پردازد. زبان CNUIML برای توصیف رابط های برنامه کاربردی تحت وب، با تمرکز بر نیازهای سیستم و نگرانی های کاربر نهایی مورد بهره بردای قرار می گیرد. برنامه های کاربردی وب از صفحات و فرم های به هم پیوسته تشکیل شده اند که درختی از اشیاء را شکل می دهند. متا مدل یک برنامه وب شامل فرم، فرم فرعی، آیتم داده و محدوده دامنه و نوع مقادیر است. هر برنامه مجموعه ای از فرم ها با انواع مقادیر و دامنه های خاص هر یک است.
[1] G. Kumar and P. K. Bhatia, “Impact of agile methodology on software development process,” International Journal of Computer Technology and Electronics Engineering (IJCTEE), vol. 2, no. 4, pp. 46-50-46–50, 2012, doi: 10.1145/2735399.2735410.
[2] B. Fitzgerald and K.-J. Stol, “Continuous software engineering: A roadmap and agenda,” Journal of Systems and Software, vol. 123, pp. 176–189, 2017, doi: 10.1016/j.jss.2015.06.063.
[3] M. Bano and D. Zowghi, “User involvement in software development and system success: a systematic literature review,” in Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering, Porto de Galinhas Brazil: ACM, Apr. 2013, pp. 125–130. doi: 10.1145/2460999.2461017.
[4] H. Lieberman, F. Paternò, M. Klann, and V. Wulf, “End-User Development: An Emerging Paradigm,” in End User Development, vol. 9, H. Lieberman, F. Paternò, and V. Wulf, Eds., in Human-Computer Interaction Series, vol. 9. , Dordrecht: Springer Netherlands, 2006, pp. 1–8. doi: 10.1007/1-4020-5386-X_1.
[5] T. Ludwig, J. Dax, V. Pipek, and V. Wulf, “A Practice-Oriented Paradigm for End-User Development,” in New Perspectives in End-User Development, F. Paternò and V. Wulf, Eds., Cham: Springer International Publishing, 2017, pp. 23–41. doi: 10.1007/978-3-319-60291-2_2.
[6] M. Snoeck and Y. Wautelet, “Agile MERODE: a model-driven software engineering method for user-centric and value-based development,” Softw Syst Model, vol. 21, no. 4, pp. 1469–1494, Aug. 2022, doi: 10.1007/s10270-022-01015-y.
[7] H. Soude and K. Koussonda, “A Model Driven Approach for Unifying user Interfaces Development,” IJACSA, vol. 13, no. 7, 2022, doi: 10.14569/IJACSA.2022.01307107.
[8] H. Bahri, H. Motameni, and B. Barzegar, “CNUIML: Towards the automatic generation of enterprise-level rich Internet applications using Controlled Natural User Interface Modeling Language,” Scientia Iranica, Dec. 2023, doi: 10.24200/sci.2023.62435.7839.
[9] D. Torre, M. Genero, Y. Labiche, and M. Elaasar, “How consistency is handled in model-driven software engineering and UML: an expert opinion survey,” Software Qual J, vol. 31, no. 1, pp. 1–54, Mar. 2023, doi: 10.1007/s11219-022-09585-2.
[10] B. A. Myers and M. B. Rosson, “Survey on user interface programming,” in Proceedings of the SIGCHI conference on Human factors in computing systems - CHI ’92, Monterey, California, United States: ACM Press, 1992, pp. 195–202. doi: 10.1145/142750.142789.
[11] J. Ruiz, E. Serral, and M. Snoeck, “Evaluating user interface generation approaches: model-based versus model-driven development,” Softw Syst Model, vol. 18, no. 4, pp. 2753–2776, Aug. 2019, doi: 10.1007/s10270-018-0698-x.
[12] S. Kent, “Model driven engineering,” in International conference on integrated formal methods, Springer, 2002, pp. 286–298.
[13] K. E. Emam and A. G. Koru, “A Replicated Survey of IT Software Project Failures,” IEEE Softw., vol. 25, no. 5, pp. 84–90, Sep. 2008, doi: 10.1109/MS.2008.107.
[14] R. Gronback, “Eclipse Modeling Project | The Eclipse Foundation.” Accessed: Aug. 08, 2023. [Online]. Available: https://eclipse.dev/modeling/emf/
[15] I. M. T. Gamito, “From Rigorous Requirements and User Interfaces Specifications into Software Business Applications: The ASL Approach,” PhD Thesis, Master’s thesis, Instituto Superior Técnico, 2021.
[16] E. Yigitbas, I. Jovanovikj, K. Biermeier, S. Sauer, and G. Engels, “Integrated model-driven development of self-adaptive user interfaces,” Software and Systems Modeling, vol. 19, no. 5, pp. 1057-1081-1057–1081, 2020, doi: 10.1007/s10270-020-00777-7.
[17] L. Erazo-Garzón, S. Suquisupa, A. Bermeo, and P. Cedillo, “Model-Driven Engineering Applied to User Interfaces. A Systematic Literature Review,” in Applied Technologies, M. Botto-Tobar, M. Zambrano Vizuete, S. Montes León, P. Torres-Carrión, and B. Durakovic, Eds., in Communications in Computer and Information Science. Cham: Springer Nature Switzerland, 2023, pp. 575–591. doi: 10.1007/978-3-031-24985-3_42.
[18] M. Karu, “A textual domain specific language for user interface modelling,” in Emerging Trends in Computing, Informatics, Systems Sciences, and Engineering, Springer, 2013, pp. 985–996.
[19] M. Lachgar and A. Abdali, “Generating Android graphical user interfaces using an MDA approach,” in 2014 Third IEEE International Colloquium in Information Science and Technology (CIST), Oct. 2014, pp. 80–85. doi: 10.1109/CIST.2014.7016598.
[20] M. Lachgar and A. Abdali, “Modeling and generating native code for cross-platform mobile applications using DSL,” Intelligent Automation & Soft Computing, vol. 23, no. 3, pp. 445–458, Jul. 2017, doi: 10.1080/10798587.2016.1239392.
[21] A. Sabraoui, A. Abouzahra, K. Afdel, and M. Machkour, “MDD Approach for Mobile Applications Based On DSL,” in 2019 International Conference of Computer Science and Renewable Energies (ICCSRE), Jul. 2019, pp. 1–6. doi: 10.1109/ICCSRE.2019.8807572.
[22] D. Priefer, “Applying Model-Driven Engineering to Development Scenarios for Web Content Management System Extensions,” 2021.
[23] S. Ceri, P. Fraternali, and A. Bongio, “Web modeling language (webML): A modeling language for designing web sites,” in Ninth International World Wide Web Conference, Elsevier, Amsterdam, Netherlands, 2000.
[24] M. L. Bernardi, M. Cimitile, G. A. Di Lucca, and F. M. Maggi, “M3D: a tool for the model driven development of web applications,” in Proceedings of the twelfth international workshop on Web information and data management, in WIDM ’12. New York, NY, USA: Association for Computing Machinery, 2012, pp. 73–80. doi: 10.1145/2389936.2389951.
[25] A. Sabraoui, M. El Koutbi, and I. Khriss, “A MDA-based model-driven approach to generate GUI for mobile applications,” International Review on Computers and Software Journal (IRECOS), vol. 8, no. 3, pp. 844–852, 2013.
[26] E. Costa, A. L. Soares, and J. P. de Sousa, “Situating Case Studies Within the Design Science Research Paradigm: An Instantiation for Collaborative Networks,” Collaboration in a Hyperconnected World, p. 531, 2016.