comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Newbie Needs Ada Advice
Date: Tue, 8 May 2007 22:02:06 +0200
Date: 2007-05-08T22:02:04+02:00	[thread overview]
Message-ID: <2kxz8cntat9y$.1t9ovvtq8zcjs$.dlg@40tude.net> (raw)
In-Reply-To: 1178650313.462774.91850@e51g2000hsg.googlegroups.com

On 8 May 2007 11:51:53 -0700, ezkcdude wrote:

> All helpful responses. Thanks. One idea that now makes some sense
> (having thought about it for all of a couple of hours), is that the
> GUI/interface could be a separate application that simply sets up the
> experiment (i.e. microscope configuration). For example, creating an
> XML document with appropriate hardware parameters, and then feeding
> this document to the "engine", which actually controls the microscope.

What for? If the parameter dialogs is the only GUI you need, you can
accomplish that in practically any GUI library in two days.

> The GUI could then be written using something even more high-level
> (like my favorite language MATLAB!).

You can call Ada from Matlab, same as you would call C. But, Matlab is not
GPL, it is rather a lot of money. And it is extremely slow. (For our
customers we often design hardware-in-the-loop systems with Matlab/Simulink
mounted on the system's top. Of course the engine is not Matlab, as you
suggested, otherwise it would never work. But the only reason why Matlab is
used, is not fancy GUI, but modeling our customers (mechanical engineers)
wanted to do in Simulink. These are open-end systems. It does not look like
your case.)

> The engine could be written in
> Ada. I could also write another application that would graphically
> monitor the ongoing experiment (i.e. display images).  This monitor
> could be web based, and simply interact with the data that is acquired
> by the microscope controller engine.

Simply interact means what? I bet a subprogram call is the simplest thing
one can imagine. A separate GUI process would mean some communication
middleman between the data acquisition/control engine and the GUI. TCP/IP
sockets, RPC, OPC? And all this just in order to display an image, a couple
of buttons and combo boxes? It looks like an architectural mess. From what
you have described, GUI is about half man-week programming in GtkAda.

> The only issue that still bugs me is that most of the hardware drivers
> for the major microscope manufacturers (Leica, Nikon, Olympus, Zeiss)
> are in C/C++, so there will still be a need to interface Ada/C/C++ to
> some extent.

I would not consider it as a problem at all. The real problem with hardware
interface libraries from third firms is that they are *normally*
non-portable, non-functioning and have documentation describing something
quite different from what you get. Add here, that the devices are customary
malfunctioning. If you send the command A followed by B, the device
software crashes. When you make a full-duplex communication, it crashes
again. When A is sent more frequently than each 100ms it crashes once more,
and so on and so forth. Usually GUI is your least problem.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  parent reply	other threads:[~2007-05-08 20:02 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-03 17:13 Newbie Needs Ada Advice ezkcdude
2007-05-03 18:24 ` Dmitry A. Kazakov
2007-05-03 22:14   ` ezkcdude
2007-05-04  4:07 ` tmoran
2007-05-04 12:57   ` Bob Spooner
2007-05-04 13:38     ` Dmitry A. Kazakov
2007-05-04 14:40       ` ezkcdude
2007-05-04 19:19       ` Bob Spooner
2007-05-04 19:48         ` Dmitry A. Kazakov
2007-05-06 21:46           ` ezkcdude
2007-05-07  7:31             ` Dmitry A. Kazakov
2007-05-07  7:42             ` Alex R. Mosteo
2007-05-07  9:15               ` Dmitry A. Kazakov
2007-05-08  2:58             ` Justin Gombos
2007-05-08 11:58               ` ezkcdude
2007-05-04  4:42 ` Jeffrey R. Carter
2007-05-04  6:48 ` Jacob Sparre Andersen
2007-05-07  8:01 ` Markus E Leypold
2007-05-08 14:40   ` ezkcdude
2007-05-08 15:07     ` Pascal Obry
2007-05-08 15:27       ` ezkcdude
2007-05-08 15:54         ` Pascal Obry
2007-05-08 16:07         ` Georg Bauhaus
2007-05-08 18:42           ` Markus E Leypold
2007-05-08 16:18         ` Ali Bendriss
2007-05-08 19:23         ` Michael Bode
2007-05-08 16:11     ` Markus E Leypold
2007-05-08 16:49       ` ezkcdude
2007-05-08 18:20         ` Ludovic Brenta
2007-05-08 21:17           ` Markus E Leypold
2007-05-08 18:45         ` Markus E Leypold
2007-05-08 18:28     ` Alex R. Mosteo
2007-05-08 18:51       ` ezkcdude
2007-05-08 19:31         ` Michael Bode
2007-05-08 19:43           ` Michael Bode
2007-05-08 20:02         ` Dmitry A. Kazakov [this message]
2007-05-08 21:26           ` Markus E Leypold
2007-05-08 21:21         ` Markus E Leypold
2007-05-08 21:27           ` ezkcdude
2007-05-08 21:56             ` Markus E Leypold
2007-05-09 13:25               ` Jacob Sparre Andersen
2007-05-09 15:58                 ` Markus E Leypold
2007-05-10 21:20                   ` Memory mapped files and shared memory (Was: Newbie Needs Ada Advice) Jacob Sparre Andersen
2007-05-11 16:38                     ` ezkcdude
2007-05-10 18:14     ` Newbie Needs Ada Advice Chip and Allie Orange
2007-05-27  5:50     ` adaworks
2007-05-29 12:54       ` ezkcdude
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox