Configuration File Generator for Verified Code Reuse
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software development for safety-critical applications like aviation is costly due to certification standards and the need for unique code files and source code reviews, making upgrades and verification processes burdensome and expensive.
Innovation Solution
A software development system that uses a configuration file generator tool to create configuration files identifying preexisting, verified, and compiled software code segments, allowing for the generation of software applications without the need for source code generation or extensive verification processes, by reading design models constructed from individual blocks with specified data flows.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If unique source code files are generated for each model to meet certification standards, then software verification and certification compliance are improved, but development cost and complexity increase significantly
Solution Approach 1:
The patent uses pre-existing verified code segments as templates that can be copied and reused across multiple models. Instead of generating unique source code for each model, the system references the same verified code segments through configuration files, eliminating redundant code generation while maintaining certification compliance through provenance tracking.
Solution Approach 2:
The patent creates a universal code segment library where a single verified code segment can serve multiple models and applications. The configuration file system allows one code segment to be universally applied across different models by simply changing the configuration, rather than creating dedicated code for each specific model.
2Ease of manufacture
If preexisting verified code segments are reused across models, then development cost is reduced, but ensuring certification compliance becomes more difficult
Solution Approach 1:
The patent introduces configuration files as an intermediary layer between the execution engine and the pre-existing verified code segments. These configuration files contain metadata about code segment provenance, version, and verification status, allowing the system to track and verify compliance without regenerating source code, thus maintaining both cost efficiency and certification compliance.
3Productivity
If source code generation and compilation processes are eliminated, then productivity increases, but the ability to perform traditional verification methods is reduced
Solution Approach 1:
The patent performs verification actions in advance by maintaining a library of pre-verified code segments with documented verification results. Instead of verifying code during the generation process, the verification is performed beforehand and the results are stored in configuration files, allowing rapid deployment without sacrificing verification capability.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A software development system for generating a software application is provided. The software development system comprises a configuration file generator tool configured to: read a design model comprising a plurality of individual blocks with a specified data flow between the blocks, wherein each block has a defined behavioral expectation, wherein the design model is configured to cause a desired behavior for the software application when given a set of inputs. The configuration file generator tool is further configured to generate a configuration file, based on the design model, that identifies a plurality of preexisting, verified, and compiled/linked software code segments configured to perform mathematical and/or logical actions to cause the desired behavior for the software application. The configuration file configures an execution engine to execute the portion of the software application represented by the model by invoking execution of the plurality of preexisting, verified, and compiled/linked software code segments specified in the configuration file.