Citation: | Jin Dongming, Jin Zhi, Chen Xiaohong, Wang Chunhui. ChatModeler: A Human-Machine Collaborative and Iterative Requirements Elicitation and Modeling Approach via Large Language Models[J]. Journal of Computer Research and Development, 2024, 61(2): 338-350. DOI: 10.7544/issn1000-1239.202330746 |
Requirements elicitation and modeling is a critical step in requirements engineering that affects subsequent system design and implementation. Traditional requirements elicitation and modeling methods usually involve multiple types of stakeholders, such as requirement providers and requirements analysts, working together in an iterative manner, which requires a lot of manpower. It is important to reduce the burden of requirements providers and requirements analysts and improve the efficiency of elicitation and modeling. Some of the existing efforts use knowledge bases to provide more knowledge to assist modeling or elicitation, and some use natural language processing techniques to automate the elicitation or modeling process. But they do not reduce the burden of requirements providers. Leveraging the generative capability of LLMs (large language models), we provide ChatModeler, a requirement elicitation and modeling framework for iterative human-machine collaboration. Specifically, based on the division of labor and collaboration relationship of real-world requirements teams, some work of requirements providers and requirements analysts is taken up by LLMs, while requirements providers only need to perform confirmation. In this paper, prompts are designed for the various roles played by the various LLMs, which varies with the meta-model of the requirements. ChatModeler is used in 14 sets of comparative experiments with state-of-the-art automated modeling approaches for three types of requirement models on seven requirement cases, demonstrating the superiority of ChatModeler in both reducing the number of interactions of the requirements provider and generating higher quality requirement models.
[1] |
Goguen J A, Linde C. Techniques for requirements elicitation [C]//Proc of the IEEE Int Symp on Requirements Engineering. Piscataway, NJ: IEEE, 1993: 152-164
|
[2] |
White J, Hays S, Fu Quchen, et al. Chatgpt prompt patterns for improving code quality, refactoring, requirements elicitation, and software design[J]. arXiv preprint, arXiv: 2303. 07839, 2023
|
[3] |
Jahan M, Abad Z S H, Far B. Generating sequence diagram from natural language requirements[C]//Proc of the 29th IEEE Int Requirements Engineering Conf Workshops (REW). Piscataway, NJ: IEEE, 2021: 39-48
|
[4] |
Wang Chunhui, Hou Lu, Chen Xiaohong. Extracting requirements models from natural-language document for embedded systems[C]//Proc of the 30th IEEE Int Requirements Engineering Conf Workshops (REW). Piscataway, NJ: IEEE, 2022: 18-21
|
[5] |
Dardenne A, Van Lamsweerde A, Fickas S. Goal-directed requirements acquisition[J]. Science of Computer Programming, 1993, 20(1-2): 3−50 doi: 10.1016/0167-6423(93)90021-G
|
[6] |
金芝. 基于本体的需求自动获取[J]. 计算机学报,2000,23(5):486−492
Jin Zhi. Ontology-based requirements elicitation[J]. Chinese Journal of Computers, 2000, 23(5): 486−492(in Chinese)
|
[7] |
陈小红,尹斌,金芝. 基于问题框架方法的需求建模:一个本体制导的方法[J]. 软件学报,2011,22(2):177−195 doi: 10.3724/SP.J.1001.2011.03755
Chen Xiaohong, Yin Bin, Jin Zhi. Ontology-guided requirements modeling based on problem frames approach[J]. Journal of Software, 2011, 22(2): 177−195(in Chinese) doi: 10.3724/SP.J.1001.2011.03755
|
[8] |
Elbendak M, Vickers P, Rossiter N. Parsed use case descriptions as a basis for object-oriented class model generation[J]. Journal of Systems and Software, 2011, 84(7): 1209−1223 doi: 10.1016/j.jss.2011.02.025
|
[9] |
Pudlitz F, Brokhausen F, Vogelsang A. Extraction of system states from natural language requirements[C]//Proc of the 27th IEEE Int Requirements Engineering Conf (RE). Piscataway, NJ: IEEE, 2019: 211-222
|
[10] |
Qian Chen, Wen Lijie, Kumar A, et al. An approach for process model extraction by multi-grained text classification[C]//Proc of the 32nd Conf on Advanced Information Systems Engineering(CAiSE). Berlin: Springer, 2020: 268-282
|
[11] |
OpenAI. ChatGPT. [2023-08-01] .https://openai.com/blog/chatgpt/. 2023.09
|
[12] |
Dong Qingxiu, Li Lei, Dai Damai, et al. A survey for in-context learning[J]. arXiv preprint, arXiv: 2301. 00234, 2022
|
[13] |
李戈,彭鑫,王千祥,等. 大模型:基于自然交互的人机协同软件开发与演化工具带来的挑战[J]. 软件学报,2023,34(10):4601−4606
Li Ge, Peng Xin, Wang Qianxiang, et al. Challenges from LLMs as a Natural Language Based Human-machine Collaborative Tool for Software Development and Evolution[J]. Journal of Software, 2023, 34(10): 4601−4606(in Chinese)
|
[14] |
Grady J O. System requirements analysis[M]. Cambridge: Elsevier, 2010
|
[15] |
Katzenbach J R, Smith D K. The wisdom of teams: Creating the high-performance organization[M]. Boston: Harvard Business Review Press, 2015
|
[16] |
Belbin R M, Brown V. Team roles at work[M]. Oxfordshire: Routledge, 2022
|
[17] |
Jackson M. Problem frames: analysing and structuring software development problems[M]. Boston: Addison-Wesley, 2001
|
[18] |
Jin Dongming, Wang Chunhui, Jin Zhi. Automating extraction of problem diagrams from natural language requirements document[C]//Proc of the 31st IEEE Int Requirements Engineering Conference Workshops (REW). Piscataway, NJ: IEEE, 2023
|
[19] |
Chen Xiaohong, Jin Zhi. An ontology-guided process for developing problem frame specification: an example[C]//Proc of the 3rd Int Workshop on Applications and Advances of Problem Frames(IWAAPF'08) . Leipzig: ACM, 2008: 36-39
|
[20] |
Xing Zhenchang, Huang Qing, Cheng Yu, et al. Prompt sapper: LLM-empowered software engineering infrastructure for AI-native services[J]. arXiv preprint, arXiv: 2306.02230, 2023
|
[21] |
Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[J]. Advances in Neural Information Processing Systems, 2017, 5998-6008
|
[22] |
Devlin J, Chang M W, Lee K, et al. BERT: Pre-training of deep bidirectional transformers for language understanding[J]. arXiv preprint, arXiv: 1810. 04805, 2018
|
[23] |
Brown T, Mann B, Ryder N, et al. Language models are few-shot learners[J]. Advances in Neural Information Processing Systems, 2020, 33: 1877−1901
|
[24] |
Bajaj D, Goel A, Gupta S C, et al. MUCE: A multilingual use case model extractor using GPT-3[J]. International Journal of Information Technology, 2022, 14(3): 1543−1554. doi: 10.1007/s41870-022-00884-2
|
[25] |
Leong I T, Barbosa R. Translating Natural Language Requirements to Formal Specifications: A Study on GPT and Symbolic NLP[C]//Proc of the 53rd Annual IEEE/IFIP Int Conf on Dependable Systems and Networks Workshops (DSN-W). Piscataway, NJ: IEEE, 2023: 259-262
|
[26] |
Chen Boqi, Chen Kua, Hassani S, et al. On the Use of GPT-4 for Creating Goal Models: An Exploratory Study[C]//Proc of MoDRE workshop at Requirement Engineering conf. Hannover. Piscataway, NJ: IEEE, 2023: 262-271
|
[27] |
Liu Pengfei, Yuan Weizhe, Fu Jialan, et al. Pre-train, prompt, and predict: A systematic survey of prompting methods in natural language processing[J]. ACM Computing Surveys, 2023, 55(9): 1−35
|
[28] |
Wei Jason, Wang Xuezhi, Schuurmans D, et al. Chain-of-thought prompting elicits reasoning in large language models[J]. Advances in Neural Information Processing Systems, 2022, 35: 24824−24837
|
[29] |
Ross D T, Schoman K E. Structured analysis for requirements definition[J]. IEEE Transactions on Software Engineering, 1977(1): 6−15
|
[30] |
Graham I. Requirements engineering and rapid development: an object-oriented approach[M]. Boston: Addison-Wesley Press, 1998
|
[31] |
Vinay S, Aithal S, Desai P. An approach towards automation of requirements analysis[C]//Proc of the Int Multi Conf of Engineers and Computer Scientists. Piscataway, NJ: IEEE, 2009: 1
|
[32] |
Umber A, Bajwa I S, Asif Naeem M. NL-based automated software requirements elicitation and specification[C]//Proc of 1st Conf on Advances in Computing and Communications (ACC). Berlin: Springer, 2011: 30-39
|
[33] |
Bajwa I S, Choudhary M A. From natural language software specifications to UML class models[C]//Proc of 13th Int Conf on Enterprise Information Systems(ICEIS). Berlin: Springer, 2012: 224-237
|
[34] |
Bajwa I S, Asif Naeem M. On specifying requirements using a semantically controlled representation[C]//Proc of 16th Int Conf on Applications of Natural Language to Information Systems (NLDB). Berlin: Springer, 2011: 217-220
|
[35] |
Umber A, Bajwa I S. A step towards ambiguity less natural language software requirements specifications[J]. International Journal of Web Applications, 2012, 4(1): 12−21
|
[36] |
Pohl K, Böckle G, van der Linden F, et al. Overview of the example domain: Home automation[J]. Software Product Line Engineering: Foundations, Principles, and Techniques, 2005: 39-52
|
[37] |
金芝,刘璘,陈小红,等. 软件需求工程方法与实践[M]. 北京:清华大学出版社,2023
Jin Zhi, Liu Lin, Chen Xiaohong, et al. Software Requirements Engineering Methods and Practices[M]. Beijing: Tsinghua University Press, 2023(in Chinese)
|
[38] |
Al-Hroob A, Imam A T, Al-Heisa R. The use of artificial neural networks for extracting actions and actors from requirements document[J]. Information and Software Technology, 2018, 101: 1−15 doi: 10.1016/j.infsof.2018.04.010
|
[39] |
LangchainAI. LangChain. [2023-08-01]. https://www.langchain.com/
|
[40] |
THUDM. ChatGLM. [2023-08-01].https://github.com/THUDM/ChatGLM-6B
|
[41] |
杨孟飞,顾斌,段振华,等. 嵌入式软件智能合成框架及关键科学问题[J]. 中国空间科学技术,2022,42(4):1−7
Yang Mengfei, Gu Bin, Duan Zhenhua, et al. Intelligent program synthesis framework and key scientific problems for embedded software[J]. Chinese Space Science and Technology, 2022, 42(4): 1−7(in Chinese)
|
[42] |
顾斌,董云卫,王政. 面向航天嵌入式软件的形式化建模方法[J]. 软件学报,2015,26(2):321−331
Gu Bin, Dong Yunwei, Wang Zheng. Formal modeling approach for aerospace embedded software[J]. Journal of Software, 2015, 26(2): 321−331(in Chinese)
|
[1] | Zhang Chunyun, Zhao Hongyan, Deng Jiqin, Cui Chaoran, Dong Xiaolin, Chen Zhumin. Category Adversarial Joint Learning Method for Cross-Prompt Automated Essay Scoring[J]. Journal of Computer Research and Development, 2025, 62(5): 1190-1204. DOI: 10.7544/issn1000-1239.202440266 |
[2] | Li Zhongnian, Huangfu Zhiyu, Yang Kaijie, Ying Peng, Sun Tongfeng, Xu Xinzheng. Semi-supervised Open Vocabulary Multi-label Learning Based on Graph Prompting[J]. Journal of Computer Research and Development, 2025, 62(2): 432-442. DOI: 10.7544/issn1000-1239.202440123 |
[3] | Chen Ziyang, Zhao Xiang, Zhao Runhao, Ni Ziqi, Ye Yicong. Multi-Agent Scientific Hypothesis Generation Based on Human-Machine Collaboration[J]. Journal of Computer Research and Development. DOI: 10.7544/issn1000-1239.202440552 |
[4] | Cui Yuanning, Sun Zequn, Hu Wei. A Pre-trained Universal Knowledge Graph Reasoning Model Based on Rule Prompts[J]. Journal of Computer Research and Development, 2024, 61(8): 2030-2044. DOI: 10.7544/issn1000-1239.202440133 |
[5] | Lai Peiyuan, Li Cheng, Wang Zenghui, Wang Changdong, Liao Dezhang. Traffic Flow Prediction Based on Graph Prompt-Finetuning[J]. Journal of Computer Research and Development, 2024, 61(8): 2020-2029. DOI: 10.7544/issn1000-1239.202440113 |
[6] | Liu Lin, Li Zhi. Requirements Engineering Under the Background of Artificial Intelligence Preface#br#[J]. Journal of Computer Research and Development, 2021, 58(4): 681-682. DOI: 10.7544/issn1000-1239.2021.qy0401 |
[7] | Xu Lixin, Wu Huayao. Collective Intelligence Based Software Engineering[J]. Journal of Computer Research and Development, 2020, 57(3): 487-512. DOI: 10.7544/issn1000-1239.2020.20190626 |
[8] | Xiao Mingming, Yu Shunzheng. Protocol Reverse Engineering Using Grammatical Inference[J]. Journal of Computer Research and Development, 2013, 50(10): 2044-2058. |
[9] | Lü Jinhu, Wang Hongchun, He Keqing. Complex Dynamical Networks and Their Applications in Software Engineering[J]. Journal of Computer Research and Development, 2008, 45(12): 2052-2059. |
[10] | Mao Xinjun, Chang Zhiming, Wang Ji, and Wang Huaimin. Agent-Oriented Software Engineering: Status and Challenges[J]. Journal of Computer Research and Development, 2006, 43(10): 1782-1789. |