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!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Ada in command / control systems Date: Mon, 11 Mar 2019 08:56:25 +0000 Organization: A noiseless patient Spider 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> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: reader02.eternal-september.org; posting-host="1e460af0a11c2df43abde8cc4df78ff1"; logging-data="4565"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/0B5BncAlFmwSOMkAcXFl7eDKmr0sVPwA=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (darwin) Cancel-Lock: sha1:Kt/ZDzBKfMkwNKeYhKy/zcXs2N4= sha1:YqJv7e9r5wEQmm0sMMBOX4Vcrkk= Xref: reader01.eternal-september.org comp.lang.ada:55829 Date: 2019-03-11T08:56:25+00:00 List-Id: lyttlec writes: > Code-to-diagram generators do make life easier! Especially for > maintenance. Speaking of which, is there a good one for Ada? I have a > couple for C/C++ but not Ada. The trouble with code-to-diagram generators is that it's only really possible to make a useful diagram if it hides some aspect of the code, and if the code is created by humans (even just one human!) there won't be the architectural consistency to achieve that. For example, there may be many ways of representing the notion that one Target may be being engaged by one or more Missiles_In_Flight, but that a Missile_In_Flight is engaging precisely one Target. In rather the same way that it must be quite hard to convert an optimised binary back to the Ada source code it was generated from. That said, I wonder whether you meant diagram-to-code generators? In that case, the relationship I described above would be straightforward to specify in a UML class diagram, and the architectural decisions made in the specific code generator would mean that you would know exactly how to navigate the model: the function call Is_Engaged_By (The_Target) would return a possibly-empty list of Missile_In_Flight. Modelling/code generators for the sort of project that's appropriate to model in UML (probably not e.g. FADEC, but certainly the business logic of a railway signalling system) include * Rational Rhapsody, https://www.ibm.com/uk-en/marketplace/rational-rhapsody * Bridgepoint, https://xtuml.org * xUML, https://abstractsolutions.co.uk/our-services/executable-uml/ * my ColdFrame, https://simonjwright.github.io/coldframe/