Maxima servermode: stability of commands....



2006/5/2, Michele Slocovich <msloco at gmail.com>:

It looks to me that your are writing s software that looks very similar to WIMS.

Am I right ? Did you know about wims ? If not, I hope this can help
you. If yes, can you please tell us what is different in your project
and what you did not liked in wims ?

Thanks,

Nicolas

[1] WIMS http://wims.unice.fr/wims/ This is the main site of WIMS (WWW
Interactive Mathematics Server): interactive exercises, online
calculators and plotters, mathematical recreation ... Wims uses Maxima
as a back-end (as well as many other tools)

> Hello list,
>
>  I've been experimenting and using maxima as a backend for an assessment
> system for mathematicks.
>  The system is called STACK, you might have already heard of it:
> http://mantis.york.ac.uk/moodle/course/view.php?id=21
>
>  It is open source. It uses maxima as a backend for veryfing students'
> answers to questionnaires.
>  It should also be able to act as an RQP (remote question protocol) server
> for other elearning systems (moodle for instance).
>
>  I've been working on how this software calls maxima itself.
>  Originally STACK would launch a single maxima instance for every operation
> (slooow and possibly congesting when... say 20 pupils trying a
> questionnnaire!).
>  I've written some code to launch maxima in servermode (-s port) and to act
> as a proxy/multiplexer for evaluation calls from STACK.
>  Apart from the fact that "servermode" is not a correct definition, since
> maxima acts, tcp wise, as a client, but let's leave this with documentation
> problems,
>  I would like to inquiry about the stability of the command interface for
> maxima.
>
>  The problem is that the code developed for 5.9.1 didn't work for 5.9.2,
> mostly due to smallcaps issues.
>  Now 5.9.3 seems not to work with the STACK code written for 5.9.2.
>
>  Maybe the approach i'm following is not the right one, maybe there is some
> API i can call ? Can anyone of you devise a better strategy ?
>
>  On the other side, does anyone know what could have changed in the maxima
> calls to make them fail ?
>
>  the typical "call" STACK does to maxima (just to give you an idea) is:
>
>   cab:block([ RANDOM_SEED, OPT_OUTPUT, OPT_NoFloats, sqrtdispflag, simp,
> assume_pos,n,m,p,q,questionAns,questionStem0,questionStem1,questionNote0],
> RANDOM_SEED:1144827616, OPT_OUTPUT:"LaTeX", make_multsgn(dot),
> make_complexJ(i), OPT_NoFloats:true, sqrtdispflag:true, simp:true,
> assume_pos:false, print("[TimeStamp= [ 1146579926 ], Locals= [ ") ,
> print("0=[ error= ["), cte("n",errcatch(n:3)) , print("1=[ error= ["),
> cte("m",errcatch(m:5)) , print("2=[ error= ["),
> cte("p",errcatch(p:2*(x-n)^2*(x-m))) , print("3=[ error=
> ["), cte("q",errcatch(q:expand(p))) , print("4=[ error= ["),
> cte("questionAns",errcatch(questionAns:p)) , print("5=[
> error= ["), cte("questionStem0",errcatch(questionStem0:q))
> , print("6=[ error= ["),
> cte("questionStem1",errcatch(questionStem1:n)) , print("7=[
> error= ["), cte("questionNote0",errcatch(questionNote0:p))
> , print("] ]") , return(true) );
>
>  can you spot something whose behaviour has changed from 5.9.2 to 5.9.3 ?
>
>  saluti,
>  Michele
>
>


--
Nicolas Pettiaux - email: nicolas.pettiaux at ael.be