ASCEND provides support for Conditional modeling, where a model can contain both variant and invariant equations. Invariant equations must be respected by the model at all times while the variant equations only are included in the model if certain conditions are met. For example, a model for fluid flow will have different sets of equations depending on the phase of the flow (laminar, turbulent or sonic flow). Unfortunately, the current syntax for conditional modeling has been considered unintuitive by some of its users and there is demand for a better alternative.
In this project, my goal is to precisely identify why the current syntax is considered unintuitive and use this information to design and implement a better alternative. The identification would be based on a review of code examples using the current conditional model syntax and the implementations would be made by modifying the existing Bison-based compiler.