comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: Ada in command / control systems
Date: Wed, 6 Mar 2019 23:02:46 -0800 (PST)
Date: 2019-03-06T23:02:46-08:00	[thread overview]
Message-ID: <fcb4b27a-1967-4ee2-8fc7-e3fd2d64ff1a@googlegroups.com> (raw)
In-Reply-To: <q5okl1$ioe$1@gioia.aioe.org>

> > What do you mean "nothing above that"? There can be many levels of requirements. [...]

> Thus it is simply code in some mostly declarative language. As such it 
> must undergo testing, verification, validation etc.

No, it's not code. It's requirements. Yes, in undergoes verification. Which is actually good - I don't understand, are you now criticizing models for them being verified?

> > The fact that Simulink can generate code automatically is actually not important here,
> 
> It is a key feature allowing to circumvent normal software quality 
> assertion and developing process.

I don't understand this statement (maybe we are running out of fuel in this discussion). Models are used to express ideas and expectations. Whether there is a code generation involved is a secondary issue. You might as well say that automatic soldering of electronics elements from electric diagrams is a key feature of the modeling tool. Yet I have never seen it happen (nor even attempted).

> I don't think there are many people who could write code from a 
> non-trivial Simulink diagram.

Great, we are now focusing on some added value. So let's remove Simulink from the process and we have what? The customer asking for a product. How is that any better? Are there many people who could write code from a non-trivial customer expectation? The models exist to replace that single long jump with two (or more) smaller jumps, presumably easier to follow, trace, and verify. Even if the model is used only to shake out and improve the original requirements, without any code involved on the way, that's already good.

> It is far more difficult than writing 
> assembler code from Ada program.

Then maybe the intellectual gap is still too wide. And that only confirms my previous statements: source code is the lowest-level artifact we should care about (assembler can be written by a machine). Moving from requirements to source requires intellectual contribution from the expert and automating that part is not necessarily easy or desired (but still interesting).

> The question is the purpose of? For example, the purpose of writing pay 
> checks for the developers team. Certainly you might have something 
> useful for that. Or something more close, getting the top managers off 
> the back of developers. Some PPT presentation would be of great help. 
> You should state the purpose first.

I did. The purpose is to reduce the gap that is to be covered by a single engineering activity. Writing source code while listening to the customer over the phone does not work, so let's try to create something intermediary to provide opportunity to verify that our understanding of the high-level requirements are correct and that there is an idea for actual implementation that is feasible and has desired properties. This is exactly the purpose of the low-level model.

> This is not comparable. When writing code in a normal language 
> programmers know the limitation of the mental model they use

I've seen evidence for the contrary. And I've also seen perfect programs that do not fulfill the original requirements, and were therefore useless. So there is something missing.

> There are lots of red lines and 
> alarm bells each competent programmer knows.

I presume that a competent modeler knows a thing, too.

> Moreover, nobody is 
> competent as the proclaimed purpose of all exercise was: any moron can 
> design quality software in Simulink knowing nothing about programming.

I have never said anything like this. Actually, I believe that the effective use of modeling requires expertise that a typical coder does not have.
 
> One must know everything about programming, 
> control, about numeric methods, and about domain-space problem in order 
> to use Simulink en large.

So Simulink is bad, because you have to be competent? That's a really poor criticism of modeling.
I'm asking whether the process can benefit from the presence of such tools. I'm ready to acquire the competencies that I lack, if needed.

-- 
Maciej Sobczak * http://www.inspirel.com


  reply	other threads:[~2019-03-07  7:02 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-25  6:51 Ada in command / control systems Jesper Quorning
2019-02-25  8:24 ` Dmitry A. Kazakov
2019-02-25  9:44   ` Jesper Quorning
2019-02-25 15:54     ` Dmitry A. Kazakov
2019-02-25 13:50   ` russ lyttle
2019-02-25 14:29     ` gautier_niouzes
2019-02-25 15:25     ` Simon Wright
2019-02-25 19:21       ` russ lyttle
2019-02-26  4:50         ` J-P. Rosen
2019-02-26 15:50           ` Simon Wright
2019-02-26 22:10             ` lyttlec
2019-02-26 22:39               ` Niklas Holsti
2019-02-26 23:09               ` Simon Wright
2019-02-27 13:22                 ` russ lyttle
2019-02-27 14:17                   ` Niklas Holsti
2019-02-27 17:49                     ` russ lyttle
2019-02-25 19:53     ` Tero Koskinen
2019-02-25 20:15       ` russ lyttle
2019-03-01 14:56     ` fabien.chouteau
2019-03-01 16:58       ` Simon Wright
2019-03-01 21:19         ` russ lyttle
2019-03-01 22:32           ` fabien.chouteau
2019-03-01 23:24             ` russ lyttle
2019-02-25 21:18   ` Jesper Quorning
2019-02-26  9:28     ` Maciej Sobczak
2019-02-26 11:01       ` Dmitry A. Kazakov
2019-02-26 21:25         ` Maciej Sobczak
2019-02-27  9:33           ` Dmitry A. Kazakov
2019-02-27 20:46             ` Maciej Sobczak
2019-02-27 21:55               ` Dmitry A. Kazakov
2019-02-28 13:12                 ` Maciej Sobczak
2019-02-28 17:43                   ` Dmitry A. Kazakov
2019-03-01  9:22                     ` Maciej Sobczak
2019-03-01 10:46                       ` Dmitry A. Kazakov
2019-03-04  7:03                         ` Maciej Sobczak
2019-03-04 14:38                           ` Dmitry A. Kazakov
2019-03-05  9:33                             ` Maciej Sobczak
2019-03-05 16:09                               ` Dmitry A. Kazakov
2019-03-06  9:05                                 ` Maciej Sobczak
2019-03-06 14:14                                   ` Dmitry A. Kazakov
2019-03-07  7:02                                     ` Maciej Sobczak [this message]
2019-03-07  9:25                                       ` Dmitry A. Kazakov
2019-03-08  7:19                                         ` Maciej Sobczak
2019-03-08 11:08                                           ` Dmitry A. Kazakov
2019-03-08 17:00                                             ` Simon Wright
2019-03-08 17:38                                               ` Dmitry A. Kazakov
2019-03-05  7:18                   ` G. B.
2019-03-05  9:28                     ` Dmitry A. Kazakov
2019-03-05  9:51                       ` Maciej Sobczak
2019-03-05 16:15                         ` Dmitry A. Kazakov
2019-03-06 22:02                           ` Randy Brukardt
2019-03-05 17:55                         ` Niklas Holsti
2019-03-05 21:06                           ` Simon Wright
2019-03-06  7:26                           ` G. B.
2019-03-06  8:22                             ` Dmitry A. Kazakov
2019-03-06 12:04                               ` Simon Wright
2019-03-07  7:35                               ` G. B.
2019-03-07  9:25                                 ` Dmitry A. Kazakov
2019-03-06  9:17                           ` Maciej Sobczak
2019-03-08 22:45                           ` russ lyttle
2019-03-09  8:16                             ` Simon Wright
2019-03-09  8:59                               ` Dmitry A. Kazakov
2019-03-09 18:47                                 ` russ lyttle
2019-03-09 20:06                                 ` G.B.
2019-03-09 20:38                                   ` Dmitry A. Kazakov
2019-03-09 18:34                               ` russ lyttle
2019-03-09 19:28                                 ` Simon Wright
2019-03-10 21:13                                   ` lyttlec
2019-03-11  8:56                                     ` Simon Wright
2019-03-11 14:27                                       ` russ lyttle
2019-03-11 17:01                                         ` Simon Wright
2019-03-11 21:55                                           ` russ lyttle
2019-03-05 11:59                       ` russ lyttle
2019-03-05 18:18                         ` Dmitry A. Kazakov
2019-03-06  2:01                           ` lyttlec
2019-03-06  8:29                             ` Dmitry A. Kazakov
2019-02-26 15:54       ` Simon Wright
2019-02-26 21:43         ` Maciej Sobczak
2019-02-26 22:45           ` Simon Wright
2019-02-27  8:41             ` Dmitry A. Kazakov
2019-02-27 20:55             ` Maciej Sobczak
2019-02-27 21:26               ` Simon Wright
2019-02-27 22:08                 ` Dmitry A. Kazakov
2019-02-27 11:04       ` Jesper Quorning
replies disabled

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