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.
(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
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.
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.