Re: Would a code generator from dynamic systems be feasible and useful?
- To: mathgroup at smc.vnet.net
- Subject: [mg60139] Re: Would a code generator from dynamic systems be feasible and useful?
- From: David Bailey <dave at Remove_Thisdbailey.co.uk>
- Date: Sun, 4 Sep 2005 03:02:02 -0400 (EDT)
- References: <dfbehm$ilp$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Ivan Martinez wrote: > Hello everybody, > I have developed a code generator from dynamic systems represented as > block diagrams: > http://dslib.sourceforge.net/ > Right now I'm making a study of how it would be possible to adapt such > code generator to programs like Mathematica, etc., and > whether it would be useful. The problem is that I have serious doubts > about it with Mathematica. Let me explain you why. > AFAIK, there isn't any Simulink-like application for Mathematica, > rather libraries of tools for control analysis. Since there isn't any > Simulink, there isn't any equivalent to its ".mdl" files to represent > dynamic systems. And therefore, dynamyc systems are defined in > Mathematica language without any specific form. And the difficulty is, > that it seems too complex to parse a Mathematica program to make the > block diagram of a dynamic system from it. > It also seems that Mathematica can't perform online analysis. I mean, > one usually generates code from a dynamic system to execute that code in > realtime in some hardware system. But I don't think Mathematica can > monitor such execution with "realtime" plotting or parameter tweaking. I > haven't found any driver for any hardware input or output, either. > Please correct me if I'm wrong. Thank you in advance. > Ivan Martinez > Hello, Maybe you should think in terms of having a Mathematica program that reads in and parses a file describing a control system (using your favourite syntax) and then produces block diagrams, executes it, etc. etc. Using the raw Mathematica language to describe a control system might not be a good idea as you point out. Mathematica programs can easily access C and Java using MathLink and J/Link, so you could interface your code to other hardware in either of those languages (bearing in mind that you would still be in user-mode wrt the operating system, of course). Mathematica has recently become a lot more visually dynamic with the introduction of GUIKit. The Super Widget Package (available from my site) builds on this and greatly simplifies and extends this flexibility, so I am sure you could build a wide range of interfaces to your project. David Bailey http://www.dbaileyconsultancy.co.uk