comp.lang.ada
 help / color / mirror / Atom feed
* GUI Design for Ada
@ 1999-10-28  0:00 Andrew
  1999-10-28  0:00 ` David Botton
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Andrew @ 1999-10-28  0:00 UTC (permalink / raw)


I just started using Ada at work. Had my first week of training. It's a very
interesting language. Very unforgiving of sloppy or imprecise coding.
Anyhow, I picked Ada95 Problem Solving and Program design. SO far I like the
book.

However, the project I'm working on is a multi-process  simulation that runs
on a dual PowerPC system.
I'm looking for a good reference/tutorial type book that discusses real-time
programming in Ada that's new to this field.

In addition, I'm also looking for info/book that will help to design GUI
front end for an Ada program running in Windows. I'm an intermediate level
programmer that has written some code (nothing complex) in Visual Basic,
Java and now looking into Visual C++.


thanks;


-------------------------------------------------------------------
Andrew






^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: GUI Design for Ada
  1999-10-28  0:00 GUI Design for Ada Andrew
@ 1999-10-28  0:00 ` David Botton
  1999-10-29  0:00 ` tmoran
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 13+ messages in thread
From: David Botton @ 1999-10-28  0:00 UTC (permalink / raw)


Take a look at :

Real-Time Systems and Programming Languages
Alan Burns & Andy Wellings
0-201-40365-X

David Botton

Andrew wrote in message <7vb03r$1ea$1@news5.fast.net>...
>I'm looking for a good reference/tutorial type book that discusses
real-time
>programming in Ada that's new to this field.







^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: GUI Design for Ada
  1999-10-28  0:00 GUI Design for Ada Andrew
  1999-10-28  0:00 ` David Botton
@ 1999-10-29  0:00 ` tmoran
  1999-10-29  0:00   ` Andrew
  1999-10-29  0:00 ` Ted Dennison
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: tmoran @ 1999-10-29  0:00 UTC (permalink / raw)


>In addition, I'm also looking for info/book that will help to design GUI
>front end for an Ada program running in Windows.
 May I immodestly suggest the TriAda paper at www.rrsoftware.com for
one approach.  Other approaches include doing it in C transliterated
to Ada or doing it with a cross-platform tool like Tcl/Tk.




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: GUI Design for Ada
  1999-10-28  0:00 GUI Design for Ada Andrew
                   ` (2 preceding siblings ...)
  1999-10-29  0:00 ` Ted Dennison
@ 1999-10-29  0:00 ` Aidan Skinner
  1999-10-29  0:00 ` Matthew Heaney
  1999-11-05  0:00 ` Stefan Skoglund
  5 siblings, 0 replies; 13+ messages in thread
From: Aidan Skinner @ 1999-10-29  0:00 UTC (permalink / raw)


On Thu, 28 Oct 1999 22:23:41 -0400, Andrew <mysig@fast.net> wrote:

>I'm looking for a good reference/tutorial type book that discusses real-time
>programming in Ada that's new to this field.

Burns and Wellings have written at least two books on this
subject. The first, Concurrency in Ada '95, discusses the aspects of
the language which related to tasks and protected objects. It's very
well written, and covers a lot of ground. They've also written a
general book called Real Time Systems and Their Programming Languages,
which is on my reading list but unfortuantely I haven't had a chance
to start it yet. It's more general, and covers a number of languages
including Ada '95.

- Aidan

-- 
"I say we just bury him and eat dessert"
http://www.skinner.demon.co.uk/aidan/
OpenPGP Key Fingerprint: 9858 33E6 C755 7D34 B5C5  316D 9274 1343 FBE6 99D9




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: GUI Design for Ada
  1999-10-28  0:00 GUI Design for Ada Andrew
                   ` (3 preceding siblings ...)
  1999-10-29  0:00 ` Aidan Skinner
@ 1999-10-29  0:00 ` Matthew Heaney
  1999-11-05  0:00 ` Stefan Skoglund
  5 siblings, 0 replies; 13+ messages in thread
From: Matthew Heaney @ 1999-10-29  0:00 UTC (permalink / raw)


In article <7vb03r$1ea$1@news5.fast.net> , "Andrew" <mysig@fast.net> 
wrote:

> I'm looking for a good reference/tutorial type book that discusses real-time
> programming in Ada that's new to this field.

You can peruse the examples (multiple versions of dining philosophers)
in the Ada95 design patterns archive.  Start with Jan 1999 and work
forward in time.

<http://www.acm.org/archives/patterns.html>

I recently (Oct 1999) submitted an article about how to observe a
concurrent subject.

--
Evolution is as well documented as any phenomenon in science, as
strongly as the earth's revolution around the sun rather than vice
versa.

Stephen Jay Gould, Time, 23 Aug 1999




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: GUI Design for Ada
  1999-10-28  0:00 GUI Design for Ada Andrew
  1999-10-28  0:00 ` David Botton
  1999-10-29  0:00 ` tmoran
@ 1999-10-29  0:00 ` Ted Dennison
  1999-10-29  0:00   ` Andrew
  1999-10-29  0:00 ` Aidan Skinner
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Ted Dennison @ 1999-10-29  0:00 UTC (permalink / raw)


In article <7vb03r$1ea$1@news5.fast.net>,
  "Andrew" <mysig@fast.net> wrote:

> However, the project I'm working on is a multi-process  simulation
> that runs on a dual PowerPC system.

Out of curiosity, what OS are you using?

> I'm looking for a good reference/tutorial type book that discusses
> real-time programming in Ada that's new to this field.

I'm not aware of an Ada book specific to real-time. Chapters 17 and 18
in Cohen's Ada as a Second Language cover a lot of the issues.
We also have a couple of copies of A Practitioner's Handbook for
Real-Time Analysis, which covers a lot of issues related to
Rate-Monotonic systems in a language-neutral manner.

In Ada you can make a simple rate-monotonic system by putting each
scheduled item in its own task. Each task should set its priority
relative to the other tasks to be the same as its iteration rate
relative to the other tasks (using Ada.Dynamic_Priorities). A global
package that keeps track of everyone's priority and rate (perhaps as
read from a configuration file) can be useful for this purpose.

Before its first iteration, each task should save the current value of
Ada.Real_Time.Clock. At the end of each iteration, the task will add its
iteration rate to the saved time, and perform a "delay until" that time.
More sophistacted logic can be added to detect and handle overruns.

We discovered on our project that with careful attention given to using
standard Ada constructs rather than their OS equivalents, one can create
an entire real-time simulation in Ada that is souce code portable to
other OS/compiler combinations (excepting specialized hardware
interfaces, of course). For instance, when hardware availability turned
out to be a problem, we were able to compile and test early versions of
our entire system on NT boxes using Gnat, even though the code was
written for the GreenHills Ada cross-compiler for vxWorks. Of course you
don't quite get real-time performance in NT. But if we needed to change
RTOS's or compiler vendors, it would be an almost painless process. I am
unaware of *any* other language that could provide this.

--
T.E.D.


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: GUI Design for Ada
  1999-10-29  0:00 ` Ted Dennison
@ 1999-10-29  0:00   ` Andrew
  1999-11-01  0:00     ` Ted Dennison
  0 siblings, 1 reply; 13+ messages in thread
From: Andrew @ 1999-10-29  0:00 UTC (permalink / raw)


Thanks everyone for your suggestions.



--



-------------------------------------------------------------------
Andrew

Ted Dennison <dennison@telepath.com> wrote in message
news:7vcd4p$r9q$1@nnrp1.deja.com...
> In article <7vb03r$1ea$1@news5.fast.net>,
>   "Andrew" <mysig@fast.net> wrote:
>
> > However, the project I'm working on is a multi-process  simulation
> > that runs on a dual PowerPC system.
>
> Out of curiosity, what OS are you using?

PowerMAX OS


> > I'm looking for a good reference/tutorial type book that discusses
> > real-time programming in Ada that's new to this field.
>
> I'm not aware of an Ada book specific to real-time. Chapters 17 and 18
> in Cohen's Ada as a Second Language cover a lot of the issues.
> We also have a couple of copies of A Practitioner's Handbook for
> Real-Time Analysis, which covers a lot of issues related to
> Rate-Monotonic systems in a language-neutral manner.
>
> In Ada you can make a simple rate-monotonic system by putting each
> scheduled item in its own task. Each task should set its priority
> relative to the other tasks to be the same as its iteration rate
> relative to the other tasks (using Ada.Dynamic_Priorities). A global
> package that keeps track of everyone's priority and rate (perhaps as
> read from a configuration file) can be useful for this purpose.
>
> Before its first iteration, each task should save the current value of
> Ada.Real_Time.Clock. At the end of each iteration, the task will add its
> iteration rate to the saved time, and perform a "delay until" that time.
> More sophistacted logic can be added to detect and handle overruns.

we are using IRIG time. The code was originally written in Ada83.

>
> We discovered on our project that with careful attention given to using
> standard Ada constructs rather than their OS equivalents, one can create
> an entire real-time simulation in Ada that is souce code portable to
> other OS/compiler combinations (excepting specialized hardware
> interfaces, of course).

unfortunately, we use OS calls and have an enhanced Ada83 compiler.


   For instance, when hardware availability turned
> out to be a problem, we were able to compile and test early versions of
> our entire system on NT boxes using Gnat, even though the code was
> written for the GreenHills Ada cross-compiler for vxWorks. Of course you
> don't quite get real-time performance in NT. But if we needed to change
> RTOS's or compiler vendors, it would be an almost painless process. I am
> unaware of *any* other language that could provide this.
>
> --
> T.E.D.
>
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.






^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: GUI Design for Ada
  1999-10-29  0:00 ` tmoran
@ 1999-10-29  0:00   ` Andrew
  0 siblings, 0 replies; 13+ messages in thread
From: Andrew @ 1999-10-29  0:00 UTC (permalink / raw)


Thank you for the suggestion.

Andrew

--



-------------------------------------------------------------------
Andrew
<tmoran@bix.com> wrote in message
news:yM8S3.1611$J%5.31954@typhoon-sf.snfc21.pbi.net...
> >In addition, I'm also looking for info/book that will help to design GUI
> >front end for an Ada program running in Windows.
>  May I immodestly suggest the TriAda paper at www.rrsoftware.com for
> one approach.  Other approaches include doing it in C transliterated
> to Ada or doing it with a cross-platform tool like Tcl/Tk.






^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: GUI Design for Ada
  1999-10-29  0:00   ` Andrew
@ 1999-11-01  0:00     ` Ted Dennison
  1999-11-01  0:00       ` Andrew
  0 siblings, 1 reply; 13+ messages in thread
From: Ted Dennison @ 1999-11-01  0:00 UTC (permalink / raw)


In article <7vdbff$9k1$1@news5.fast.net>,
  "Andrew" <mysig@fast.net> wrote:
> Ted Dennison <dennison@telepath.com> wrote in message
> > Out of curiosity, what OS are you using?
>
> PowerMAX OS
...
> unfortunately, we use OS calls and have an enhanced Ada83 compiler.

Hmmm. Is that Harris' old VADS-based compiler? It was a rather nice
system. I particularly liked the way it spilt Ada tasks into separate
processes and automaticly load-balanced them across the available CPUs.
It handled the different process-spaces by putting task heaps and
program stacks in shared memory sections. But you still had to be very
careful with using non-Ada dynamicly allocted memory in tasks that
didn't do the initial allocation. With some C code you can get around
the problem by redefining "malloc" to call Ada's "new" operator. But
that wouldn't help us for some C library calls, like X and Motif.

Ada 83 had numerous deficiencies wrt. real-time programming. The worst
was the lack of a "delay until" statement. That's why we didn't even
consider Ada 83 solutions for the program I'm working on now.

--
T.E.D.


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: GUI Design for Ada
  1999-11-01  0:00     ` Ted Dennison
@ 1999-11-01  0:00       ` Andrew
  0 siblings, 0 replies; 13+ messages in thread
From: Andrew @ 1999-11-01  0:00 UTC (permalink / raw)


I think you are correct. The code was running on NightHawk series computers.
Concurrent Comp. Corp. Ft. Lauderdale owns them now. We switched to
PowerHawks.

This by far is the most complex piece of s/w I've ever worked on. It has
five processes and it's growing.

-------------------------------------------------------------------
Andrew


Ted Dennison <dennison@telepath.com> wrote in message
news:7vkavj$4av$1@nnrp1.deja.com...
> In article <7vdbff$9k1$1@news5.fast.net>,
>   "Andrew" <mysig@fast.net> wrote:
> > Ted Dennison <dennison@telepath.com> wrote in message
> > > Out of curiosity, what OS are you using?
> >
> > PowerMAX OS
> ...
> > unfortunately, we use OS calls and have an enhanced Ada83 compiler.
>
> Hmmm. Is that Harris' old VADS-based compiler? It was a rather nice
> system. I particularly liked the way it spilt Ada tasks into separate
> processes and automaticly load-balanced them across the available CPUs.
> It handled the different process-spaces by putting task heaps and
> program stacks in shared memory sections. But you still had to be very
> careful with using non-Ada dynamicly allocted memory in tasks that
> didn't do the initial allocation. With some C code you can get around
> the problem by redefining "malloc" to call Ada's "new" operator. But
> that wouldn't help us for some C library calls, like X and Motif.
>
> Ada 83 had numerous deficiencies wrt. real-time programming. The worst
> was the lack of a "delay until" statement. That's why we didn't even
> consider Ada 83 solutions for the program I'm working on now.
>
> --
> T.E.D.
>
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.






^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: GUI Design for Ada
  1999-10-28  0:00 GUI Design for Ada Andrew
                   ` (4 preceding siblings ...)
  1999-10-29  0:00 ` Matthew Heaney
@ 1999-11-05  0:00 ` Stefan Skoglund
  1999-11-05  0:00   ` Andrew
  5 siblings, 1 reply; 13+ messages in thread
From: Stefan Skoglund @ 1999-11-05  0:00 UTC (permalink / raw)


Andrew wrote:
> 
> In addition, I'm also looking for info/book that will help to design GUI
> front end for an Ada program running in Windows. I'm an intermediate level
> programmer that has written some code (nothing complex) in Visual Basic,
> Java and now looking into Visual C++.
> 

Hmm i can recommend gtkada and the gtk gui builder GLADE.

POint and click in glade.
generate xml
have a program from gtkada change that output into ada.




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: GUI Design for Ada
  1999-11-05  0:00 ` Stefan Skoglund
@ 1999-11-05  0:00   ` Andrew
  1999-11-07  0:00     ` Preben Randhol
  0 siblings, 1 reply; 13+ messages in thread
From: Andrew @ 1999-11-05  0:00 UTC (permalink / raw)


Thanks Stefan. I'll do a search for gtk ada.

-------------------------------------------------------------------

Andrew



Stefan Skoglund <stetson@ebox.tninet.se> wrote in message
news:38232475.1B24A593@ebox.tninet.se...
> Andrew wrote:
> >
> > In addition, I'm also looking for info/book that will help to design GUI
> > front end for an Ada program running in Windows. I'm an intermediate
level
> > programmer that has written some code (nothing complex) in Visual Basic,
> > Java and now looking into Visual C++.
> >
>
> Hmm i can recommend gtkada and the gtk gui builder GLADE.
>
> POint and click in glade.
> generate xml
> have a program from gtkada change that output into ada.






^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: GUI Design for Ada
  1999-11-05  0:00   ` Andrew
@ 1999-11-07  0:00     ` Preben Randhol
  0 siblings, 0 replies; 13+ messages in thread
From: Preben Randhol @ 1999-11-07  0:00 UTC (permalink / raw)


"Andrew" <mysig@fast.net> writes:

| Thanks Stefan. I'll do a search for gtk ada.

GTKAda : http://gtkada.eu.org/
Glade  : http://glade.pn.org/

-- 
Preben Randhol                 Affliction is enamoured of thy parts, 
[randhol@pvv.org]              And thou art wedded to calamity. 
[http://www.pvv.org/~randhol/]                    -- W. Shakespeare 




^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~1999-11-07  0:00 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-10-28  0:00 GUI Design for Ada Andrew
1999-10-28  0:00 ` David Botton
1999-10-29  0:00 ` tmoran
1999-10-29  0:00   ` Andrew
1999-10-29  0:00 ` Ted Dennison
1999-10-29  0:00   ` Andrew
1999-11-01  0:00     ` Ted Dennison
1999-11-01  0:00       ` Andrew
1999-10-29  0:00 ` Aidan Skinner
1999-10-29  0:00 ` Matthew Heaney
1999-11-05  0:00 ` Stefan Skoglund
1999-11-05  0:00   ` Andrew
1999-11-07  0:00     ` Preben Randhol

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