From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:a02:6018:: with SMTP id i24mr6865548jac.6.1551942166792; Wed, 06 Mar 2019 23:02:46 -0800 (PST) X-Received: by 2002:a05:6830:1458:: with SMTP id w24mr7124070otp.303.1551942166348; Wed, 06 Mar 2019 23:02:46 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!i2pn.org!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!y42no190728ita.0!news-out.google.com!v188ni314itb.0!nntp.google.com!y22no191456ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Wed, 6 Mar 2019 23:02:46 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.84.74; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S NNTP-Posting-Host: 165.225.84.74 References: <2199b15b-d704-403f-a6c4-00fab29792d5@googlegroups.com> <72738cc8-3f65-4cc1-8c61-b1166cb5e3c2@googlegroups.com> <9807ec3a-4c34-4641-acfa-e9cf22de95ce@googlegroups.com> <51611452-1f49-4d8d-b93d-363cbbee29d0@googlegroups.com> <6a0fe4c2-a8e6-4d15-8cbf-f5a85ba0cd86@googlegroups.com> <1a5fae09-bbbf-4bdb-be8c-6a2e3fd70dfa@googlegroups.com> <1c62f33a-d3a0-4a64-b66f-c82328cfb52a@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Ada in command / control systems From: Maciej Sobczak Injection-Date: Thu, 07 Mar 2019 07:02:46 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:55803 Date: 2019-03-06T23:02:46-08:00 List-Id: > > What do you mean "nothing above that"? There can be many levels of requ= irements. [...] > Thus it is simply code in some mostly declarative language. As such it=20 > 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, >=20 > It is a key feature allowing to circumvent normal software quality=20 > 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 th= ere is a code generation involved is a secondary issue. You might as well s= ay 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=20 > non-trivial Simulink diagram. Great, we are now focusing on some added value. So let's remove Simulink fr= om 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-triv= ial 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 origina= l requirements, without any code involved on the way, that's already good. > It is far more difficult than writing=20 > assembler code from Ada program. Then maybe the intellectual gap is still too wide. And that only confirms m= y previous statements: source code is the lowest-level artifact we should c= are about (assembler can be written by a machine). Moving from requirements= to source requires intellectual contribution from the expert and automatin= g that part is not necessarily easy or desired (but still interesting). > The question is the purpose of? For example, the purpose of writing pay= =20 > checks for the developers team. Certainly you might have something=20 > useful for that. Or something more close, getting the top managers off=20 > the back of developers. Some PPT presentation would be of great help.=20 > You should state the purpose first. I did. The purpose is to reduce the gap that is to be covered by a single e= ngineering activity. Writing source code while listening to the customer ov= er the phone does not work, so let's try to create something intermediary t= o provide opportunity to verify that our understanding of the high-level re= quirements 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=20 > programmers know the limitation of the mental model they use I've seen evidence for the contrary. And I've also seen perfect programs th= at do not fulfill the original requirements, and were therefore useless. So= there is something missing. > There are lots of red lines and=20 > alarm bells each competent programmer knows. I presume that a competent modeler knows a thing, too. > Moreover, nobody is=20 > competent as the proclaimed purpose of all exercise was: any moron can=20 > design quality software in Simulink knowing nothing about programming. I have never said anything like this. Actually, I believe that the effectiv= e use of modeling requires expertise that a typical coder does not have. =20 > One must know everything about programming,=20 > control, about numeric methods, and about domain-space problem in order= =20 > 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. --=20 Maciej Sobczak * http://www.inspirel.com