Jump to: navigation, search

Chathuranga is an undergraduate student at the Department of Computer Science and Engineering, University of Moratuwa, Sri Lanka.

Code branch: chathuranga:


I am trying to improve the persistence features of the ASCEND, such as import/export capabilities. My work will be around Saving and restoring model state and Student_Projects#Persistence_of_modelling_results

Currently ASCEND models are required to be compiled and have to be solved each time. I have been developing a way to Export and Import back a solution of a model, such that the user can use previously solved model straightaway without solving it again. I'm willing to improve the functionality, reliability and usability in my previous work on persistence of ASCEND model status.


  • Introducing SaveModelSolution function to export current state of a given model to a file.
  • Introducing RestoreModelSolution function to import back a solution which has exported earlier.
  • CUnit test cases for persistence functionality. Basic test cases yet.
  • GUI entry points for Import and Export functions.

Tasks :

Formalize cunit test cases for Import/Export functionality.

  • Debugging and optimizing export and import process
    • Status reporting to PyGTK.
    • Input files validation in Import utility.
    • Checking model - solution compatibility.
    • Provide Solved/Converged model status in GUI whenever possible, with fixed/free status.
  • Formalizing export file format and optimize its contents.
  • Partial solution import/export compatibility.
  • Provide an option to include units in exporting.
  • Introducing Comma Separated Values (CSV) and Tab Delimited output file format supports in to Export utility, for external usage of solutions.
  • Automatic solution restoring after compilation of a a4c file, where a compatible solution file is present in default.

Further things to be done :

Work I have been doing can only eliminate the time, processing and effort consumed to solve the model again and again. But yet, it is required to compile definition file (a4c) repeatedly, each time it is used. If the compilation result can be saved in to a file it will reduce unnecessary repeated compilation.