Stella makes use of the open source sd-ai Gateway project to power an AI Assistant that allows you to query commercial AI engines for assistance in Creating CLDs as well as models that can be simulated. It also has the ability to analyze models. All of this can be managed from the AI Assistant.
The ability of AI to generate and analyze working models is evolving quickly as improvements are made to large language models and, potentially, other forms of generalized AI. The configuration of the sd-ai Gateway means that any advances in AI specific to dynamic modeling and feedback thinking can be accessed from within Stella.
Starting with Version 4.0 of Stella the use of AI in model generation and analysis is also tracked and reported in the AI Usage Report. This is intended to make it easier for educators to understand student work and for model authors to distinguish which parts of their models came from where.
The reliability of AI information is determined by gathering information about AI usage recorded in the model file and creating a signature that can be verified when the model is reopened. The details of this are contained in a draft extension to the XMILE standard.
AI support for model building and analysis is developing very quickly. Some of the developments are done on the sd-ai Gateway and will be available in any version of the software are 4.0. Some, however, require coordination between the software and the gateway.
Starting with Version 4.2 there are no restrictions on the types of models that can be created and analyzed using the AI Assistant. Prior to version 4.2.
The AI Assistant can help in all stages of model development and analysis, and will typically be used in an iterative manner. Model building can start from scratch, or be based on existing work. Variables and equations added by the assistant can be edited or deleted. Any errors introduced by the assistant can be corrected either using the assistant or by hand. Similarly, incomplete formulations or errors that result from editing can be presented to the assistant for completion or correction.
The AI Assistant is also quite good at describing the nature of errors and omissions and suggesting changes without actually making any changes. Thus it can be used in a way that best suited to specific project needs. It is important to remember, however, that no matter what manner you interact with the assistant your model content is being sent outside for processing. Any models containing sensitive information should be treated with care.
The AI Assistant is also very good at creating documentation on individual variables (and connections), and there is a tool specifically designed to generate documentation. The AI Assistant can also do analysis of runs by leveraging loop dominance computations (see Loops That MatterTM Overview).
There is full support for Working with Arrays using AI, but AI is unlikely to do anything with arrays for models that are not already arrayed unless you explicitly ask to create arrayed variables (or to make an entire model arrayed). The assistant is very good at adding elements to arrays and making sure that the equations are consistent.
Like arrays, there is full support for modules, but typically modules will only be created when there are already modules or you explicitly ask to create modules. One thing that can be done quite effectively is encapsulation of parts of model structure into modules. This is similar to the normal editing function for Encapsulating Structure but the results are often more elegant.