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 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED.fn3LatRFkm9/xzEj7F2/NQ.user.gioia.aioe.org!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Ada in command / control systems Date: Wed, 6 Mar 2019 09:22:46 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <2199b15b-d704-403f-a6c4-00fab29792d5@googlegroups.com> <72738cc8-3f65-4cc1-8c61-b1166cb5e3c2@googlegroups.com> <9807ec3a-4c34-4641-acfa-e9cf22de95ce@googlegroups.com> <520809e3-a705-4b10-8b54-6d67c33158a6@googlegroups.com> NNTP-Posting-Host: fn3LatRFkm9/xzEj7F2/NQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.9.2 Xref: reader01.eternal-september.org comp.lang.ada:55795 Date: 2019-03-06T09:22:46+01:00 List-Id: On 2019-03-06 08:26, G. B. wrote: > Niklas Holsti wrote: > >> The design pictures that are really useful for understanding a piece of >> SW are almost always abstractions and simplifications and could be >> called "useful lies". Unfortunately this means that the pictures must be >> manually created, and manually maintained as the SW evolves. > > I like to think that there are “almost-pictures”. When I want to understand > a concurrent Ada program, then this may require knowing the communications > while keeping in mind the shared resources. For understanding > communications, Ada offers some visual(!) clues: e.g., the control > structure of a task body together with „accept“ and “requeue”. There may be > “select” at the other end. These appear(!) in predictable places, shaped by > syntax and style(!). That’s the start of a picture . And it’s abstraction, > since presumably I shouldn’t need to study most of the details in between > the visual clues. Call the result semantic folding that focuses on > communications. You refer more or less the UML sequence diagram here. The problem with this sort of pictures is its literality. They represent an instance of task communication and not communication in its entirety as an abstraction of multitude of possible communication instances. This is one method to convey an idea: the picture illustrates some case, the details are supposed to be worked out later. The implementation is focused on the details. And as every programmer knows the idea might be great but alas not working because of some minor case like the index out of the array bounds... -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de