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=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a1ce307c10055549 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-12-16 05:24:52 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: alveryg@artisansw.com (Alvery Grazebrook) Newsgroups: comp.lang.ada Subject: UML to Ada Mapping Date: 16 Dec 2002 05:24:51 -0800 Organization: http://groups.google.com/ Message-ID: References: <3DF1615C.7AAAC86E@adaworks.com> <3DF1B042.6603DDDE@easystreet.com> <3DF2A483.EC512CDF@adaworks.com> <8db3d6c8.0212080918.4e0a732@posting.google.com> <3df46fae.5122225@news.demon.co.uk> NNTP-Posting-Host: 217.39.218.22 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1040045091 6142 127.0.0.1 (16 Dec 2002 13:24:51 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 16 Dec 2002 13:24:51 GMT Xref: archiver1.google.com comp.lang.ada:31887 Date: 2002-12-16T13:24:51+00:00 List-Id: "Martin Dowie" wrote in message news:... > "Alvery Grazebrook" wrote in message > > > Artisan has Ada support, and is fairly well-known to real-time > > > users. As far as I can tell, it's rather fixed in its views; if you > > > need lots more control over what gets generated, you'd probably be > > > better off using Aonix's ACD via Software through Pictures. > > > > > The Artisan tool, Real-time Studio has been evolving its Ada code > > support. The code-generator is template based, so you can customize it > > any way you like. It also includes reverse engineering and what we > > call "Synchronization". This is basically a differencing engine to > > compare the current state of the code with the current state of the > > model, combined with a resolution capability that will re-generate or > > reverse any parts that you select based on the differences. > > But is reversing and synchronisation available once you customise > the templates? > > This isn't just a question for Artisan but for all UML tools. Since you ask, there are 2 parts to the answer. The simple answer is that the reversing works to a defined mapping, and the synchronizer supports a pre-defined range of possible mappings when producing the comparison view. This means that synchronization works cleanly for all generation templates that generate code that conform to the semantics of the reverser's Ada -> UML mapping, and will show differences otherwise. The second part to the answer is that the job of a synchronizer is to help translate UML model to Ada and back. Given that the semantics of Ada is well defined, and the semantics of UML is reasonably well defined, the only part of the mapping that is at issue is the way you need to annotate the UML model to cover the features supported by Ada that aren't supported by UML. The Ada UK community has taken up the challenge of developing an Ada Profile (for UML) to define the UML extensions required for the mapping. A profile in UML is a set of extended properties that can be attached to UML elements (e.g. operations, classes) to identify them as having a particular significance. For example, Ada 95 has several "structures" that can contain variables, sub-programs etc. they are: Package, task type, protected type, and subprogram UML has only two: Class, Package Therefore the UML Class, in particular, needs extra annotation to determine whether it should map to an Ada package, a task type or a protected type. Does anyone in this community have an interest in participating in the definition of an Ada profile? Cheers, Alvery (Product Manager, Artisan software tools, wwww.artisansw.com)