This is the replication package for the paper: "Towards Human-Bot Collaborative Software Architecting with ChatGPT", including the data, case study, scripts and so on (see the description below).
-
Case Study on Architecting the CampusBike Application.pdf
describes the case study on architecting the CampusBike application. It provides the business case and specifications, functional specifications, quality attributes, constraints, and tools and technologies (infrastructure, design, implementation, and testing) for the CampusBike application. -
Towards Human-Bot Collaborative Software Architecting with ChatGPT.pdf
describes the idea and an initial case study of introducing ChatGPT in human-bot collaborative architecting. -
Architectural Analysis.pdf
outlines and provides a brief description of the functional requirements, software development standards, and constraints for the CampusBike system. -
Architecture Evaluation.pdf
provides a set of scenarios for SAAM-based evaluation, including prioritized scenarios that are specifically tailored for the CampusBike application. It also includes a comprehensive set of quality attributes that can be used to evaluate the architecture of the CampusBike application. -
Architectural Synthesis.pdf
outlines the non-functional requirements related to maintaining a green campus and provides PlantUML scripts for components and class diagrams. It also includes implementation scripts for various design patterns, as well as graphical representations of these patterns.
In this video, we show how to use ChatGpt to architect software systems. Particularly, we developed the functional requirements, quality attributes, software standards, component diagrams, and class diagrams. In the class diagram, we also used various design patterns.
To watch the video, please click on the picture below:This research paper is divided into three main phases.
- Phase 1: Developing the Architecture Story
- Phase 2: Enabling Collaborative Architecting
- Phase 3: Conducting the Empirical Validations
This phase describes the software architecture story, which is generated based on an analysis of the software domain and depicts the operational context of the system or group of operationalized scenarios using a software solution. A prompt is used to provide the architectural story into ChatGPT as a prerequisite for collaborative architecture.
The three tasks of architectural analysis, synthesis, and evalution provide the basis for collaborative architecting.
Architectural analysis is managed by the architecture story provided to ChatGPT for articulating the Architecturally Significant Requirements (ASRs) via automatically produced and proposed requirements (by ChatGPT), the manual definition of the requirements (by the architect), or a continual conversation between ChatGPT and the architect to revise (add, delete, or update) the requirements.
The ASRs are combined in architectural synthesis to produce a model or representation of the architecture that may serve as a reference point and help to visualize the structural (de-)composition and runtime possibilities for the program. Due to a variety of reasons, the architectural model in this study was created using UML class and component diagrams.
Using scenarios from the architectural story, architectural evaluation compares the synthesized architecture against ASRs. In order to oversee ChatGPT's evaluation of the architecture, we applied the Software Architecture Analysis Method (SAAM).
Empirical validations of collaborative architecting are conducted as a continuation of this study, completing the first two phases and proposing further research.