Automated Configuration Synthesis for Machine Learning Models: A git-Based Requirement and Architecture Management System

Abdullatif AlShriaf,Hans-Martin Heyn,Eric Knauss
2024-04-26
Abstract:This work introduces a tool for generating runtime configurations automatically from textual requirements stored as artifacts in git repositories (a.k.a. T-Reqs) alongside the software code. The tool leverages T-Reqs-modelled architectural description to identify relevant configuration properties for the deployment of artificial intelligence (AI)-enabled software systems. This enables traceable configuration generation, taking into account both functional and non-functional requirements. The resulting configuration specification also includes the dynamic properties that need to be adjusted and the rationale behind their adjustment. We show that this intermediary format can be directly used by the system or adapted for specific targets, for example in order to achieve runtime optimisations in term of ML model size before deployment.
Software Engineering
What problem does this paper attempt to address?
The problems that this paper attempts to solve are: In the design of complex distributed systems, the synchronous evolution of requirements and architectures brings many challenges. Especially for machine - learning (ML) models and AI - driven software systems, there are difficulties in extracting configuration information, maintaining the consistency between requirements and implementation code, and simplifying runtime configuration management. Specifically, the paper focuses on the following issues: 1. **Requirement Extraction and Consistency Maintenance**: - The ambiguity and variability of semi - formal requirements make it difficult to extract consistent information from them. - The alignment between requirements and other project artifacts is also complicated by differences in interpretation, usually requiring manual effort, resulting in complexity and potential inconsistency in development. 2. **Automated Configuration Extraction**: - Manual configuration management and adjustment are not only time - consuming but also error - prone. Therefore, an automated method is needed to extract and manage configuration information. 3. **Traceability and Maintenance**: - Ensuring the traceability of design decisions is crucial for building a safety case. A structured framework is required to ensure a clear link from requirements to configuration to code, thereby simplifying maintenance work. To solve these problems, the authors propose GRAMS (Git - Based Requirement and Architecture Management System), aiming to improve traceability and promote maintenance by automating configuration extraction, reducing manual workload, enhancing configurability, and simplifying runtime configuration management. Specifically, GRAMS solves the problems in the following ways: - **Automated Configuration Extraction**: Automatically extract configuration information from requirement documents, reducing manual intervention. - **Enhanced Configurability**: Provide flexible configuration options to adapt to different runtime scenarios. - **Simplified Runtime Configuration Management**: Simplify configuration management through a structured method, ensuring the consistency between configuration and requirements. - **Improved Traceability**: Establish a clear link between requirements, configuration, and code, ensuring the traceability of design decisions. Through these improvements, GRAMS aims to provide more efficient, consistent, and maintainable development tools for machine - learning engineers, architects, system administrators, and MLOps engineers.