aerie icon indicating copy to clipboard operation
aerie copied to clipboard

Minor Improvements to Aerie Orchestration Utils

Open ewferg opened this issue 7 months ago • 0 comments

Checked for duplicates

No - I haven't checked

Alternatives considered

No - I haven't considered

Related problems

No response

Describe the feature request

When utilizing the SimulationUtility() class for the first time when writing a "stateless" aerie build for an aerie model plus scheduling procedures, I ran into a couple issues that were not immediately obvious to me, which hampered my on-boarding experience to utilizing this class.

  1. I first constructed the SimulationUtility() with the no argument constructor. When I subsequently went to try to use the SimulationResultsWriter(), sim results were not written to a file as expected. Digging a little deeper it turned out that passing in a ResourceFileStreamer() to SimulationUtility() was required to get the file to write out correctly. This was not intuitive, especially since the utility and writer were separate objects.
  2. Writing out simulation results is a little complicated as you have to use a few additional objects that as I user of this API I don't really care about. Specifically the CanceledListener() class and ResourceFileStreamer(). Ideally, these would be hidden from me and I could simply create a new writer (or have the SimulationUtility include the writer) and call .writeResults
  3. Once I had results writing to the file correctly, my program was still hanging. I did not realize that I had to perform a simUtility.close() to make sure all threads were closed out. Again, I would prefer that this type of behavior was taken care of for me, so I didn't have to know details about how the writer and utility are working behind the scenes.

ewferg avatar May 29 '25 22:05 ewferg