Architecting software-intensive systems can be a complex process. It deals with the daunting tasks of unifying stakeholders' perspectives, designers' intellect, tool-based automation, pattern-driven reuse, and so on, to sketch a blueprint that guides software implementation and evaluation. Despite its benefits, architecture-centric software engineering (ACSE) inherits a multitude of challenges. ACSE challenges could stem from a lack of standardized processes, socio-technical limitations, and scarcity of human expertise etc. that can impede the development of existing and emergent classes of software (e.g., IoTs, blockchain, quantum systems). Software Development Bots (DevBots) trained on large language models can help synergise architects' knowledge with artificially intelligent decision support to enable rapid architecting in a human-bot collaborative ACSE. An emerging solution to enable this collaboration is ChatGPT, a disruptive technology not primarily introduced for software engineering, but is capable of articulating and refining architectural artifacts based on natural language processing. We detail a case study that involves collaboration between a novice software architect and ChatGPT for architectural analysis, synthesis, and evaluation of a services-driven software application. Preliminary results indicate that ChatGPT can mimic an architect's role to support and often lead ACSE, however; it requires human oversight and decision support for collaborative architecting. Future research focuses on harnessing empirical evidence about architects' productivity and exploring socio-technical aspects of architecting with ChatGPT to tackle emerging and futuristic challenges of ACSE.
翻译:构建软件密集型系统的体系结构是一个复杂过程,它涉及统一利益相关者视角、设计者智慧、基于工具的自动化、模式驱动复用等艰巨任务,以勾勒出指导软件实现与评估的蓝图。尽管益处显著,以体系结构为中心的软件工程(ACSE)仍面临诸多挑战。这些挑战可能源于标准化流程缺失、社会技术局限性及人类专家知识匮乏等问题,从而阻碍现有及新兴软件类别(如物联网、区块链、量子系统)的开发。基于大语言模型训练的软件开发机器人(DevBots)能够协同架构师的知识与人工智能决策支持,在人机协作的ACSE中实现快速体系结构设计。实现这种协作的新兴解决方案是ChatGPT——一项并非专为软件工程设计的技术,却能基于自然语言处理阐述并优化体系结构工件。我们详细描述了一项案例研究,涉及一位初级软件架构师与ChatGPT协作,对一款服务驱动型软件应用进行体系结构分析、综合与评估。初步结果表明,ChatGPT能够模仿架构师角色,支持甚至主导ACSE;然而,其在协作架构设计中仍需人类监督与决策支持。未来研究将聚焦于获取架构师生产力方面的实证证据,并探索使用ChatGPT进行体系结构设计的社会技术层面,以应对ACSE当前及未来的挑战。