遇见数据集

Automated Software Requirements for Component-Based Software Engineering: a Healthcare Case Study

收藏
Zenodo2026-04-30 更新2026-05-26 收录
官方服务:

资源简介:

This repository contains the supplementary materials for our paper, titled "Automated Software Requirements for Component-Based Software Engineering: a Healthcare Case Study". In this work, we present a methodology to automatically generate software requirements from domain-specific software components. For that, we defined the Software Requirements Generator, an architectural component that constrains Large Language Models to create structured semantic mappings from validated components to formal requirements artifacts. We validated our proposed approach using the healthcare domain as a case study, using software components derived from this domain. Results show that the incorporation of a multi-agent approach with a self-learning loop enables the system to converge to fully valid requirements within an average of eight iterations. These findings demonstrate that reliable automation of software requirements in CBSE settings requires iterative, agent-based validation rather than prompt engineering alone, establishing a generalizable framework for domain-driven requirements engineering. The project implements and evaluates a workflow that: takes healthcare Nursing Basic Components (NBCs), generates software requirements with LLMs through the Software Requirements Generator (SRG), compares outputs across models/prompts, and validates requirements with clinical multi-agent evaluation (with and without self-learning loops). 📂 Repository Structure ├── 1. nbcs/ # Input components (nbc_*.txt)├── 2.scripts/ # Generation/evaluation scripts and SRG prompts│ ├── srg/│ │ ├── srg.py│ │ ├── prompt-1.txt│ │ └── prompt-2.txt│ ├── generate-results.py # Generates requirements from NBCs│ ├── evaluate-prompt.py # Cross-model consistency (cosine + LLM-as-a-judge)│ ├── evaluate-results.py # Clinical validation summaries/charts│ └── requirements.txt├── 3.results/ # Generated requirements per model/prompt└── 4.evaluation/ # Evaluation outputs, summaries, and charts └── README.md # This file 📝 How to Use This Repository Prerequisites Python 3.10+ OpenRouter API key Set your key: export OPEN_ROUTER_API_KEY="your_key_here" Setup cd 2.scripts python -m venv .venv source .venv/bin/activate pip install -r requirements.txt Some scripts also require additional libraries (for example: crewai, sentence-transformers, matplotlib, numpy, torch, and openai/litellm). Install any missing dependency reported by your environment. Workflow 1) Generate requirements from NBCs From 2.scripts/generate-results.py, configure prompt/model in main() and run: python 2.scripts/generate-results.py Outputs are written to: 3.results/<model-name>/<prompt>/nbc_*_req.txt 2) Evaluate prompt/model consistency 2.scripts/evaluate-prompt.py compares requirement sets (for example, Gemini vs Claude) and generates: per-NBC analysis files, summary.txt, chart files (.png, .svg, .pdf). Run: python 2.scripts/evaluate-prompt.py Outputs are written to: 4.evaluation/4.1.prompt/<prompt>/ 3) Run clinical validation evaluation 2.scripts/evaluate-results.py supports clinical multi-agent evaluation and summary/chart generation for: 4.2.1.without-self-learning 4.2.2.with-self-learning Configure prompt/model and self-learning mode in main(), then run: python 2.scripts/evaluate-results.py Outputs are written to: 4.evaluation/4.2.results/<mode>/<prompt>/ Notes Script defaults in main() are configured for specific experiment runs (for example, prompt-2 in some scripts). Adjust them before reproducing other scenarios. This repository is intended for research reproducibility and supplementary material of the case study.

提供机构:
William Niemiec et al.
创建时间:
2026-04-30
二维码
社区交流群
二维码
科研交流群
商业服务