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:a24:94c6:: with SMTP id j189mr5112732ite.18.1551863135017; Wed, 06 Mar 2019 01:05:35 -0800 (PST) X-Received: by 2002:a9d:64c1:: with SMTP id n1mr3705290otl.187.1551863134736; Wed, 06 Mar 2019 01:05:34 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!feeder.erje.net!2.eu.feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.166.215.MISMATCH!y22no68665ita.0!news-out.google.com!v188ni119itb.0!nntp.google.com!y42no67915ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Wed, 6 Mar 2019 01:05:34 -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> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <1c62f33a-d3a0-4a64-b66f-c82328cfb52a@googlegroups.com> Subject: Re: Ada in command / control systems From: Maciej Sobczak Injection-Date: Wed, 06 Mar 2019 09:05:35 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:55797 Date: 2019-03-06T01:05:34-08:00 List-Id: > Because the tool is claimed to state the "requirements". There can be=20 > nothing above that. What do you mean "nothing above that"? There can be many levels of requirem= ents. Simulink (and such) is typically used at the level called Low Level R= equirements (LLR for short). There is *a lot* above that. There might be ev= en other models above that. And Simulink might not be the only thing used a= t its level, or not for all artifacts. The notion that the model is still at the level of requirements comes from = the fact that a programmer might pick the model and write code from it, con= tributing perhaps from his experience and technical expertise. The fact tha= t there are people who don't understand the source code but are still comfo= rtable looking at the diagram means that there is some abstraction in it ("= useful lie" - a very good term). The fact that Simulink can generate code a= utomatically is actually not important here, because that functionality nee= d not be used - which, interestingly, makes your arguments about s-function= s irrelevant. The s-functions might be just dummy blocks and as long as the= programmer understands what should be provided in their place, the diagram= as a whole is still useful. It might be even used for formal reasoning abo= ut some of the system properties. Of course, the concept can be also misused. Which might even happen more of= ten than we would like. But this would not be an argument against models, r= ather against our lack of skills in using them. > The source code is complete per definition, otherwise you could not=20 > compile and build the solution from it. Which also means that it is the lowest level representation of the system t= hat we should care about. The question is, whether it is the only represent= ation that we need. If we need something above that, what it should be? > There are lots of concerns when calling s-function, e.g. when the block= =20 > containing this function is in the feedback loop. Sure, and there are concerns about source code being reentrant or not, or b= eing thread-safe or not, or being exception-safe or not, or being recursive= when it should not be, and so on. It's not like source is concern-free. > Models are extremely=20 > fragile. So is source. So much that people believe it makes sense not to write it. > Programming languages have means=20 > for proper encapsulation and insulation the side effects.=20 > Domain-specific languages have nothing of this sort. Why? I see no reason why they should not have it. > It is the same paradigm and after a half of century we more or less know= =20 > how to write reusable components in C and Ada. And you have the whole libraries (built-in and COTS) of reusable modules or= operators in Simulink (and similar), too. People just drag'n'drop filters,= amplifiers, counters, and whatever other stuff they need into their projec= ts and it seems to work. Why should they come back to source? --=20 Maciej Sobczak * http://www.inspirel.com