Opened 11 years ago

#41 new enhancement

Improving the architecture of MRMC.

Reported by: Dr. Ivan S. Zapreev Owned by: Dr. Ivan S. Zapreev
Priority: major Milestone: MRMC future
Component: General Architecture Version: 1.3
Keywords: Cc: Viet Yen Nguyen, Christina Jansen


  • May be the MRMC/src/runtime.c file is not such a good idea, since sometimes the matrix and/or vector of exit rates you work with gets replaced there. Perhaps everything but the runtime settings of MRMC should be passed only as function arguments.
  • Change an architecture in such a way that adding new algorithms and/or models, logics would become easy. Also algorithms such as lumping (bisimulation) should be easily addable. Since I expect that we may have to add Symmetry reduction.
  • Add a possibility for checking special conditions on the input models. For example in some cases we expect the ".tra" file to be properly ordered but in fact it is not always needed. We need to add optional checks for such conditions.
  • New data structures should be easily addable, we need some universal interface, currently we work only with sparse matrices, we may and will need others.
  • Move the MRMC Core into a separate static library.
  • Add Java Native interface for the MRMC Core. This way MRMC could be used from a java-based GUI.
  • Improve error handling, now it is a mess, sometimes we just exit, sometimes we return 1, sometimes we return NULL. All in all it is not uniform and is unacceptable if someone wants to use MRMC as a library.

Change History (0)

Note: See TracTickets for help on using tickets.