-assert mmodules.length == 1
-var mainmodule = mmodules.first
-modelbuilder.run_naive_interpreter(mainmodule, arguments)
+if mmodules.length == 1 then
+ mainmodule = mmodules.first
+else
+ mainmodule = new MModule(model, null, mmodules.first.name, mmodules.first.location)
+ mainmodule.set_imported_mmodules(mmodules)
+end
+
+var self_mm = mainmodule
+var self_args = arguments
+
+if toolcontext.opt_debugger_autorun.value then
+ modelbuilder.run_debugger_autorun(self_mm, self_args)
+else if toolcontext.opt_debugger_mode.value then
+ modelbuilder.run_debugger(self_mm, self_args)
+else
+ modelbuilder.run_naive_interpreter(self_mm, self_args)
+end
+