Skip to content

shamimaaktar1/ChatGPT4SA

Repository files navigation

chatGPT logo

Architecting Software-intensive Systems with ChatGPT

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).

File Organization

  1. 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.

  2. 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.

  3. Architectural Analysis.pdf outlines and provides a brief description of the functional requirements, software development standards, and constraints for the CampusBike system.

  4. 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.

  5. 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.

Demo Video

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:

Architecting with ChatGPT

Experiment Replication Steps

This research paper is divided into three main phases.

Phase 1: Developing the Architecture Story

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.

Phase 2: Enabling Collaborative Architecting

The three tasks of architectural analysis, synthesis, and evalution provide the basis for collaborative architecting.

Architectural Analysis

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.

Architectural Synthesis

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.

Architectural Evaluation

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).

Phase 3: Conducting the Empirical Validations

Empirical validations of collaborative architecting are conducted as a continuation of this study, completing the first two phases and proposing further research.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published