Even, a great programming language like Ada will never match the
usability of a specialized tool like Matlab.  Since, math tools are or will
be producing MathML (1), for the present a translator can be created to
transform MathML into Ada.  Subsequently, Ada should have the functionality
to parse MathML directly.  A graphical design tool based on SVG (scalable
vector graphics) could be built out of thick bindings, such as CLAW or
Gnavi.  A major problem with Ada is that it was designed based on the
technology of the period, a glass teletype.  The creation of an XML based
environment is required to modernize Ada.  This environment should include a
schema that describes Ada.
   Bob Leif

   (1) Technical Solutions
   Solution Number: 1-17IHW
   Date Last Modified: 22 Apr 2004 Product:   MATLABR
   Reported in Release:
   Fixed in Release:
   Platform:   All Platforms
   Operating System:   All OS

   ENHANCEMENT: How can I use MathML (Math Markup Language) from within

   Problem Description
   How can I use MathML (Math Markup Language) from within MATLAB?

   Our development staff will look into adding new functionality to be able
to use MathML in a future release of MATLAB.

   There are currently no known workarounds.

   -----Original Message-----
From: Team Ada: Ada Programming Language Advocacy (83 & 95)
[mailto:[log in to unmask]] On Behalf Of Roger Racine
Sent: Thursday, November 18, 2004 5:13 AM
To: [log in to unmask]
Subject: If You Can't Beat Them, Join Them

   I have been at a number of meetings and conferences where people are
   looking at languages other than Ada to use for avionics applications (my
   area of interest).  Besides Java, there are also "Model-Based"

   What does Java have that Ada doesn't?  Libraries.

   What do "Model-Based" approaches have that Ada doesn't?  Two things:

   1) Graphical approaches for flight control applications.  Controls
   engineers have written their algorithms in diagrams since the 60s.  If
   those diagrams can be automatically made into code, it saves a fair
   of effort.  Thus, Simulink, Matlab, etc.

   2) Libraries.  For guidance, navigation, and other applications that work
   in floating point (science applications in general), Matlab is an
   example of an excellent design environment.  Why?  Because it has a large
   number of tools available to analyze the data coming out of the
   program.  It is essentially a great code completion editor, compiler, and
   debugger in one integrated tool.  It completes code by adding data
   declarations (I have never met a GN&C engineer who liked to declare their
   variables. "They are all double precision floating point anyway; why
   the system create them for me").  It takes the code ("M" files, in a
   proprietary programming language) and compiles it.  And then the debugger
   allows the code to be executed using all sorts of data analysis routines.

   What is the result?

   For flight controls applications, the graphical model can be used to
   code in a variety of languages (including Ada).  This is reasonable for
   this application, so there is no need to change anything.

   For the rest (guidance and navigation), what I see is the engineer
   code using a proprietary language, with either an automatic code
   performing the transformation to the final language or manual

   Here is my proposal:

   I am not aware of any sufficient open-source equivalent to the commercial
   products.  If someone (DARPA? NSF?) were to see the need for a more
   available tool, and fund its development, it could very quickly get into
   the academic world, and from there into mainstream use.  If the language
   syntax happened to be Ada, I don't think anyone would care.  And if the
   generated language was Ada, the algorithm designers would be better able
   look at it at integration time.

   What do others think?  This is obviously a big job, but I think this is
   already a niche that Ada is used in, and it would be a great shame if we
   didn't at least fight to keep it.

   Roger Racine