comp.lang.ada
 help / color / mirror / Atom feed
From: Mark Johnson <Mark_H_Johnson@Raytheon.com>
Subject: Re: 'withing' problem [code generation]
Date: Mon, 19 Nov 2001 11:19:12 -0600
Date: 2001-11-19T11:19:12-06:00	[thread overview]
Message-ID: <3BF93F0F.D5E4D0B7@Raytheon.com> (raw)
In-Reply-To: tvi8pl3ebdgqb2@corp.supernews.com

Matthew Heaney wrote:

> "Simon Wright" <simon@pushface.org> wrote in message
> news:x7vd72gi0zm.fsf@smaug.pushface.org...
> > If there is a real-world circularity between doctor and patient, and
> > our software engineering tools can't cope with it, it's the tools that
> > have failed and not the real world!
> [snip]
> Simon argued that my solution was inadequate, because there was no simple
> way to a automatically generate my code from the UML diagram.

Having done code generation from diagrams before - I guess I don't understand
why there is no "simple way to automatically generate code" in this case. I see
at least two "simple solutions" that are not mutually exclusive:
 - annotate the drawing to "break the circular dependency here"
 - recognize patterns of circular dependencies and generate code that
automatically generates the new packages (and report such changes to the user)

We were taking data flow and control flow diagrams to generate the code for an
aircraft simulator. Loops appeared all over the place as systems interact with
each other. However, we had to "pick one" to run first (on a single CPU). The
code generator sorted the blocks based on how "close" the block was to an
external input. Direct connections were "1", blocks connected to "1's" were "2",
and so on. The precise order the blocks executed was deferred to run time - we
ran all blocks directly connected to inputs that *changed* first, then all
blocks connected to first level outputs, and so on using the order described
above. That tended to minimize latency in our system - which we considered a
*good thing*.

In a similar manner, you would probably want to do both simple solutions and use
the user directed solution in preference to an automatic one [that may be less
optimal for some reason]. This is because you will do all this in a static
manner - unlike the simulator example.

The "how to annotate" the drawing is left as an exercise to the developer of the
code generator. In our system, there was some control data that we imported
separately from the drawings & data dictionary. Mostly a big table that we
entered in Excel and exported to columns in a tab separated text file.
  --Mark




  reply	other threads:[~2001-11-19 17:19 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-02 10:24 'withing' problem David Crocker
2001-11-02 10:58 ` David C. Hoos, Sr.
2001-11-02 21:32   ` Florian Weimer
2001-11-02 14:49 ` Robert Dewar
2001-11-05  9:49   ` David Crocker
2001-11-02 15:06 ` Wes Groleau
2001-11-02 15:21 ` Ted Dennison
2001-11-02 17:19   ` Ed Falis
2001-11-02 18:17     ` Preben Randhol
2001-11-02 19:15       ` Ed Falis
2001-11-03  2:52       ` DuckE
2001-11-03  9:50         ` Preben Randhol
2001-11-03  8:25   ` Simon Wright
2001-11-03 17:27     ` Richard Riehle
2001-11-04 10:23       ` Simon Wright
2001-11-08 10:58         ` Preben Randhol
2001-11-08 15:24           ` Peter Hend�n
2001-11-10 17:57           ` Simon Wright
2001-11-05  9:48       ` David Crocker
2001-11-05 20:36         ` Ted Dennison
2001-11-06 15:56           ` David Crocker
2001-11-07 15:06             ` Ted Dennison
2001-11-07 16:49               ` Darren New
2001-11-09 20:28         ` Matthew Heaney
2001-11-10 13:55           ` Preben Randhol
2001-11-12 15:10             ` Matthew Heaney
2001-11-10 18:12           ` Simon Wright
2001-11-12 15:13             ` Matthew Heaney
2001-11-13  7:01               ` Simon Wright
2001-11-14 16:10                 ` Matthew Heaney
2001-11-15 20:21                   ` Simon Wright
2001-11-15 21:07                     ` Matthew Heaney
2001-11-16 14:37                     ` Stephen Leake
2001-11-17 22:29                     ` Richard Riehle
2001-11-18 14:53                       ` Simon Wright
2001-11-19  5:51                         ` Simon Wright
2001-11-19 15:23                         ` Matthew Heaney
2001-11-19 17:19                           ` Mark Johnson [this message]
2001-11-19 20:58                             ` 'withing' problem [code generation] Stephen Leake
2001-11-19 21:20                               ` Matthew Heaney
2001-11-21  6:20                                 ` Simon Wright
2001-11-20  0:50                               ` Mark Biggar
2001-11-21  6:21                                 ` Simon Wright
2001-11-20 14:42                               ` Mark Johnson
2001-11-20 16:34                                 ` David Crocker
2001-11-20 18:34                                   ` Richard Pinkall-Pollei
2001-11-20 18:43                                   ` Matthew Heaney
2001-11-20 20:37                                     ` Mark Lundquist
2001-11-22 11:49                                     ` David Crocker
2001-11-20 20:35                                   ` Mark Lundquist
2001-11-22 11:42                                     ` David Crocker
2001-11-19 19:30                           ` 'withing' problem Preben Randhol
2001-11-03  8:26 ` Simon Wright
2001-11-03  8:38 ` Simon Wright
2001-11-05  9:54   ` David Crocker
2001-11-05 18:04     ` tmoran
2001-11-06 15:29       ` David Crocker
2001-11-07  0:38         ` tmoran
2001-11-07 10:11           ` David Crocker
2001-11-07 18:59             ` tmoran
2001-11-08 11:38               ` David Crocker
2001-11-10 18:03                 ` Simon Wright
replies disabled

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