ADA Vo lu me 24 Vo lu me 25 USER Number 4 Number 1 December 2003 March 2004 JOURNAL Contents Page Editorial Policy for Ada User Journal 194 Editorial 195 News – 24-1 196 Conference Calendar 230 Forthcoming Events 238 Articles – 24-1 Brian Dobbing, John Barnes, Miguel Pinho “12th International Real-Time Ada Workshop” 242 Miguel Masmano “My First Ada-Europe Conference” 246 News – 25-1 1 Ada-Europe General Assembly 2004 Agenda 23 Proposed Motions for the Ada-Europe General Assembly 24 Articles – 25-1 ISO WG9 “Instructions to the ARG for Preparation of the Amendment to ISO/IEC 8652” 27 James W Moore Comments on: “Instructions to the ARG for Preparation of the Amendment to ISO/IEC 8652” 28 Pascal Leroy “Proposal for Defining Scope of Amendment to ISO/IEC 8652:1995” 29 S Tucker Taft “Fixing Software Before It Breaks: Using Static Analysis to Help Solve the Software Quality Quagmire” 33 Ada-Europe 2003 Sponsors 38 Ada-Europe Associate Members (National Ada Organizations) Inside Back Cover

Ada User Journal Volumes 24-5, Number 4/1, December 2003/March 2004 194 Editorial Policy for Ada User Journal

Publication Original Papers Commentaries Ada User Journal – The Journal for the Manuscripts should be submitted in We publish commentaries on Ada and international Ada Community – is accordance with the submission software engineering topics. These published by Ada-Europe. It appears guidelines (below). may represent the views either of four times a year, on the last days of individuals or of organisations. Such March, June, September and All original technical contributions are articles can be of any length – December. Copy date is the first of the submitted to refereeing by at least two inclusion is at the discretion of the month of publication. people. Names of referees will be kept Editor. confidential, but their comments will Opinions expressed within the Ada Aims be relayed to the authors at the discretion of the Editor. User Journal do not necessarily Ada User Journal aims to inform represent the views of the Editor, Ada- readers of developments in the Ada The first named author will receive a Europe or its directors. programming language and its use, complimentary copy of the issue of the general Ada-related software Journal in which their paper appears. Announcements and Reports engineering issues and Ada-related We are happy to publicise and report activities in Europe and other parts of By submitting a manuscript, authors grant Ada-Europe an unlimited license on events that may be of interest to our the world. The language of the journal readers. is English. to publish (and, if appropriate, republish) it, if and when the article is Although the title of the Journal refers accepted for publication. We do not Reviews to the Ada language, any related topics require that authors assign copyright to Inclusion of any review in the Journal are welcome. In particular papers in the Journal. is at the discretion of the Editor. any of the areas related to reliable Unless the authors state explicitly A reviewer will be selected by the software technologies. otherwise, submission of an article is Editor to review any book or other taken to imply that it represents publication sent to us. We are also The Journal publishes the following prepared to print reviews submitted types of material: original, unpublished work, not under consideration for publication else- from elsewhere at the discretion of the • Refereed original articles on where. Editor. technical matters concerning Ada and related topics. News and Product Announcements Submission Guidelines Ada User Journal is one of the ways in All material for publication should be • News and miscellany of interest to which people find out what is going on sent to the Editor, preferably in the Ada community. in the Ada community. Since not all of electronic format. The Editor will only accept typed manuscripts by prior • Reprints of articles published our readers have access to resources arrangement. elsewhere that deserve a wider such as the World Wide Web and Prospective authors are encouraged to audience. Usenet, or have enough time to search through the information that can be contact the Editor by email to • Commentaries on matters relating found in those resources, we reprint or determine the best format for to Ada and software engineering. report on items that may be of interest submission. Contact details can be to them. found near the front of each edition. • Announcements and reports of Example papers conforming to conferences and workshops. Reprinted Articles formatting requirements as well as some word processor templates are • Reviews of publications in the While original material is our first available from the editor. There is no field of software engineering. priority, we are willing to reprint (with limitation on the length of papers, the permission of the copyright holder) though a paper longer than 10,000

• Announcements regarding material previously submitted words would be regarded as standards concerning Ada. elsewhere if it is appropriate to give it exceptional. a wider audience. This includes papers Further details on our approach to published in North America that are these are given below. not easily available in Europe. We have a reciprocal approach in granting permission for other publications to reprint papers originally published in Ada User Journal.

Volumes 24-5, Number 4/1, December 2003/March 2004 Ada User Journal 195 Editorial The shipment of this issue has undoubtedly endured your continued patience and, surely not a consolation to you, it actually has strained but not won our perserverance. You certainly appreciate that the production of the Ada User Journal is entirely based on volunteer work, and, at that, of people much doted in overloaded work already without it. The pipeline work that takes the Journal to your mailtray is much exposed to glitches that may delay it considerably. We have been looking and will continue to look very thoroughly at ways of shortening the turnaround time and of lessening the risk factors. Some measures have already been taken, others will be in the near future. In front of you stands a most notable effect of the first range of corrective measures that we recently took, after seeking and obtaining the approval of the Ada-Europe Board: we have combined the much belated 24-4 issue of the journal, with 25-1, which we managed to produce in a stunning record time, into a 92-page journal that hopefully delivers enough bundled value to our readership in a time frame that will also help us get increasingly closer to the scheduled issue dates. What we achieved for the 25-1 part of this bundled issue was due to a number of factors, one of which is particularly worth of mention: after several years of dedicated -- and increasingly too heavy -- service as editor of the News section of the journal, Dirk Craeynest has finally found a young, energetic and motivated replacement in the person of Santiago Urueña Pascual, a PhD student at the Technical University of Madrid in Spain, a country that continues to offer phenomenal support to the Ada community. The production of the 25-1 News section was a joint effort of Dirk and Santiago, which proved exceptionally smooth and effective. Dirk will survey the work of Santiago in the next quarter, with a view to seeing Santiago take over the full load of experience that Dirk built over his years of service. We should all welcome Santiago into his new job of News editor. Let me come now to the actual contents of this bundled issue, which, out of backward- and forward- looking articles, spans almost of full year of very significant Ada-related activity. In the 24-4 part of the issue, Brian Dobbing, John Barnes and Miguel Pinho give us a witty insider’s account of the 12th International Real-Time Ada Workshop, which took place in gorgeous Viana do Castelo, Portugal, in September 2003. Next to this, Miguel Masmano reports his first-time experience as a contributing attendee, and an officially prized one, at that, to the Ada-Europe 2003 conference in Toulouse. The 25-1 part of the issue includes the agenda for the 2004 General Assembly of Ada-Europe and the motions currently proposed for it. Article-wise, it features three short but very important documents (all cleared by their respective authority) that will help our readership gain a more thorough understanding of the directions taken by the Ada Rapporteur Group in their preparatory work for the 2005 revision of the Ada language standard. And finally, with a grateful thank to the program chairs of the Ada-Europe 2004 conference, we are also able to offer an advance insight into the keynote talk that Tucker Taft will deliver as the opening event. In the confident hope of having delivered value that you will appreciate despite the long lead time, we look forward to more timely appointments in the future with the Ada User Journal.

Tullio Vardanega Padova December 2003 – March 2004 Email: [email protected]

Ada User Journal Volumes 24-5, Number 4/1, December 2003/March 2004 196 News – 24-4 Dirk Craeynest (ed) Offis nv/sa and K.U.Leuven. Email [email protected] At the DC SIGAda meeting on 8 May infrastructures, fault-tolerant systems, Contents 2003, Karl Nyberg of the Grebyn Corpo- safety-critical software, data security, page ration gave an excellent presentation ti- trustworthy computing, [...] Ada-related Events 196 tled: Optical Character Recognition Dr. Hubert B. Keller, Forschungszentrum Ada and Education 197 (OCR) of Cryptographic Source Code. Ada-related Resources 198 Karlsruhe in der Helmholtz- [See also "May 8" topic in AUJ 24.3 (Sep Gemeinschaft, Institut für Angewandte Ada-related Tools 201 2003), p.132. -- dc] Slides from his pres- Ada-related Products 210 Informatik, Postfach 3640, 76021 entation are available online as a Power- Karlsruhe Ada and CORBA 215 Point Presentation at Ada and Linux 218 http://www.acm.org/sigada/locals/dc/20030 Ada mailing list, Ada and Microsoft 220 5_OCR_of_Cryptographic_Source_Code.pp [email protected], References to Publications 221 t (ppt, 118KB). http://mail.gi-fb-sicherheit.de/mailman Ada Inside 223 /listinfo/ada Ada in Context 225 Jeff Castellow, Chair, DC SIGAda Sep 15-19 - 12th Interna- Oct 2 - Ada UK / Embedded Ada-related Events Systems Club Autumn tional Real-Time Ada Work- Conference [The announcements reported below are a shop selection of the many Ada-related events From: Hazel organized by local groups. If you are or- From: Clyde Roby Date: Mon, 11 Aug 2003 12:52:36 +0100 ganizing such an event, feel free to inform Date: Tue, 2 Sep 2003 07:39:33 -0400 Subject: Autumn Conference - Ada UK & us as soon as possible. If you attended one Subject: SIGAda and Conferences reminder Embedded Systems Club please consider writing a small report for To: [email protected] To: Ada UK & ESC Contacts the Journal. -- dc] Don't forget about our upcoming Ada-re- lated conferences: [...] Jun 5 - ACT presentation at We are pleased to announce that the Au- International Real-Time Ada Workshop. tumn Ada UK/Embedded Systems Club DASIA 2003 Pousada Monte de Sta. Luzia, Viana do conference will be held in Swindon, UK Castelo, Portugal. 15-19 September 2003. on October 2nd 2003. URL: http://www.hurray.isep.ipp.pt/irtaw2003/ http://www.eurospace.org/presentations_d We are currently putting the finishing asia2003/dasia2003_presentation_54.pdf [...] Clyde Roby, SIGAda Secretary touches to the programme for this event, and details are being posted to the Ada [Extract of program for Thursday 5 June Sep 29 - Oct 2 - Ada- UK and Embedded Systems Club web- 2003 -- dc] Germany 2003 Conference sites as they become available. [...] Benefits and Misunderstandings of Free at GI Conference From: Hazel Software in the European Space Industry Date: Thu, 25 Sep 2003 22:27:56 +0100 (. Comar, F. Gasperoni - ACT Europe, From: Hubert Keller Subject: Detailed programme for Autumn France, . Dewar – Ada Core Technolo- Date: Wed, 29 Oct 2003 10:19:52 +0100 Conference now available gies, USA) Subject: Nachruf GI Teiltagung Sicherheit To: Conference Contacts Sep 9 - Baltimore/DC To: Fachruppenleitung Ada [email protected]>, [...] A detailed conference programme, SIGAda Meeting on High- [email protected] showing the scheduling for this two lights of Ada-Europe 2003 [Extracts translated from German. See stream event, is now available at the web- also same topic in AUJ 24.3 (Sep 2003), sites: www.AdaUK.org.uk & From: Currie Colket p.133. -- dc] www.EmbeddedSystemsClub.com Date: Thu, 28 Aug 2003 11:04:12 -0400 Organization: The MITRE Corporation [...] Track on "Security - Protection and Two technical keynotes start and finish Subject: Baltimore SIGAda Chapter Sched- Reliability" at the GI Annual Conference the day: "Java for High Integrity Systems" uled for Tuesday, 9 September 2003 Informatik 2003 from 29 September - 2 and "Developing Reliable Software for October in Frankfurt/Main. Embedded Applications" Our Next Meeting is scheduled for Tues- day, 9 September 2003, [...]. The new Fachbereich "Security - Protec- As our opening keynote, [the latter] pres- tion and Reliability" held its entation sets the scene for the two parallel Currie Colket and Bill Bail will be th "Initiationstagung" under the same name, streams, offering a mix of 60 minutes speaking on "Highlights of the 8 Inter- as part of this year's annual GI Confer- technical presentations and the popular national Conference on Reliable Software ence "Informatik 2003" which was held "short and sharp" 20 minute vendor pres- Technologies (Ada-Europe 2003), Held at from 29.9 to 2.10.2003 at the Johann entation slots. Toulouse, France from 16-20 June 2003". Wolfgang Goethe university in "Why use a real time OS on DSP?", The presentation will start at 7:30 P.M. Frankfurt/Main. With over 300 partici- Richard Blackburn, OSE. [...] at the Johns Hopkins Univer- pants it was a large success and exceeded sity/Applied Physics Laboratory in Lau- substantially the number of participants of "Web-enabling Ada applications in rel, Maryland. [...] the different predecessor conferences. AWS", Franco Gasperoni, ACT Europe. Slides From Karl Nyberg's Presentation The lectures covered the entire range of Available: Security and Safety, among others critical

Volume 24, Number 4, December 2003 Ada User Journal Ada and Education 197

"Developments in OO tools for the aero, future requirements and at the same time Europe 2004) will take place in 2004 in transport and defence industries", Bill give you an opportunity to provide input Palma de Mallorca, Spain. Warwick, TNI Europe Ltd. to its future. The full conference will comprise a three- "ARTiSAN's Ada synchronizer", Francis Beyond the formal conference of selected day technical program and exhibition Thom, Artisan Software Tools. papers and presentations, SIGAda 2003 from Tuesday to Thursday, and parallel "Requirements driven development for offers workshops and tutorials with the workshops and tutorials on Monday and embedded systems", Andy Gurd, same duality of on-theme and comple- Friday. [...] Telelogic. mentary topics. SIGAda's tutorials and The proceedings will be published in the workshops provide full- or half-days for "Next generation testing tools for embed- Lecture Notes in Computer Science those working the same issues to share (LNCS) series by Springer Verlag, and ded applications", Mark Pitchford, with each other and leverage everyone's PolySpace Technologies. will be available at the start of the confer- accomplishments; workshop products are ence. [...] There will be honorary awards "Exception freedom - turning the dials up "delivered" to the community. The broad for the best paper and the best presenta- (and something new...)", Rod Chapman, offerings of career-enhancing tutorials tion. See the Ada-Europe Prizes page for Praxis Critical Systems. include basic Ada 95 introductions for previous winners: http://www.ada- software engineers new to Ada, interme- europe.org/prizes.html. [...] "Network security for IPv4 and IPv6 - an diate and advanced Ada topics for practi- overview", Paul Tingey, Wind River. tioners striving to expand their Ada ex- The conference will be accompanied by a "Model-driven development with Ada", pertise, and several language-independent three-day exhibition on June 15, 16 and Andy Lapping, I-Logix. technology topics. Join us in understand- 17. Vendors of software products and ser- ing how these topics mutually support the vices should contact the Exhibition Chair, "Testing embedded software to achieve Peter Dencker ([email protected]) at quality standards using automated tools", disciplined development and evolution of serious, high quality software systems. their earliest convenience for further in- Jim Kelly, LDRA Ltd. formation and to ensure their inclusion. "Automated global data checking for For more information on the conference [...] Ada", Ian Gilchrist, IPL. schedule, [...] visit the SIGAda 2003 web site at [...] [email protected], Ada- "The use of off-shore software services - http://www.acm.org/sigada/conf/sigada20 Europe'2004 Publicity Chair gain the benefit of eight years experience 03/ in 20 minutes", Steve Baker, Silver Software. Please feel free to contact me with any Ada and Education further questions. There is also an exhibition area, not to mention lunch and refreshments. Ricky E. Sward, SIGAda 2003 Program New Video on Ada Trains Chair Hazel Lawton, Conference Manager, Laboratory Adaxia Ltd, www.AdaUK.org.uk, Jun 14-18 - Ada-Europe From: John McCormick www.EmbeddedSystemsClub.com 2004 Conference Date: Thu, 7 Aug 2003 11:52:30 -0500 Dec 7-11 - ACM SIGAda From: [email protected] (Dirk Subject: New Ada Trains video 2003 Conference Craeynest) To: [email protected] Date: 11 Oct 2003 12:54:17 +0200 This video is an update of the one that I From: [email protected] (Ricky Organization: Ada-Europe, c/o Dept. of E. Sward) showed in my SIGAda '99 Keynote ad- Computer Science, K.U.Leuven dress. [See also "Software Engineering: Date: 23 Oct 2003 19:14:33 -0700 Subject: 2nd CfPapers, Reliable Software Subject: SIGAda 2003 Conference An- On the Right Track" in AUJ 22.4 (Dec Technologies, Ada-Europe 2004 2001), p.196, and "Switching from C to nouncement Newsgroups: Newsgroups: comp.lang.ada Ada in a Real-Time Class" in AUJ 21.1 comp.lang.ada,fr.comp.lang.ada (Apr 2000), p.8. -- dc] It shows my new Conference Announcement - SIGAda 9th International Conference on Reliable Real-Time Embedded Systems Labora- 2003, 7-11 December 2003, San Diego, Software Technologies - Ada-Europe tory here at the University of Northern California, USA. Sponsored by ACM 2004, 14-18 June 2004, Palma de Iowa. I worked with our video production SIGAda Mallorca, Spain people on campus and they did an excel- The SIGAda 2003 conference offers a http://www.ada-europe.org/conference lent job. It includes my C versus Ada top-quality technical program focused on 2004.html project completion data. important strengths of the Ada Organized, on behalf of Ada-Europe, by I have it in REAL streaming video form programming language. Three days of on the lab web site: technical papers, keynotes, and invited the University of the Balearic Islands, in cooperation with ACM SIGAda (approval http://www.cs.uni.edu/~mccormic/RealTi presentations will report on how Ada is me/ achieving success in the challenging pending) and Ada-Spain realm of software engineering. We are Ada-Europe organizes annual interna- I hope you enjoy watching it as much as I fortunate to have four leaders in the soft- tional conferences since the early 80's. did making it. ware engineering community; Ben This is the 9th event in the Reliable Soft- John W. McCormick, Computer Science Brosgol, Joyce Tokar, David A. Wheeler, ware Technologies series, previous ones Department, University of Northern Iowa, and Steve Grimaldi (tentative) will pro- being held at Montreux, Switzerland ('96), Cedar Falls, IA 50614-0507 vide keynote addresses to set the tone for London, UK ('97), Uppsala, Sweden ('98), our conference. We are also fortunate to Santander, Spain ('99), Potsdam, Learning Material for have Jim Moore, Tullio Vardanega, and Germany ('00), Leuven, Belgium ('01), Beginners Pascal Leroy provide a special discussion Vienna, Austria ('02), Toulouse, France of the work of the ISO/IEC JTC1/SC22 ('03). From: Jean-Yves Lenhof WG9 on Wednesday afternoon. The WG9 The 9th International Conference on Forum will give you an opportunity to Reliable Software Technologies (Ada- Date: Tue, 07 Oct 2003 23:16:47 +0200 find out how Ada will evolve to meet our Subject: Re: Cherche cours Ada

Ada User Journal Volume 24, Number 4, December 2003 198 Ada-related Resources

Newsgroups: fr.comp.lang.ada Subject: ANN: Scheduled Training Courses Good information! [Translated from French: -- dc] Autumn 2003 [From the home-page: "The Software To: Technology Roadmap (STR) is a directed > I'm looking on the net for good Ada courses for beginners, [...] guide containing the latest information on John Robinson And Associates Ltd - more than 69 software technologies. It is The Lovelace tutorial might be a good Scheduled Training Courses Autumn of interest to anyone acquiring, building, start... 2003 [...] or maintaining software intensive sys- http://www.dwheeler.com/lovelace/lovela Ada Programming Course: tems." -- dc ] ce.htm 15th - 19th September 2003, Cheltenham, New AdaWorld Web Site [See also: "Resources to Learn Ada" in UK; AUJ 23.4 (Dec 2002), pp.190-191, and From: Stephane Richard the "Ada and Eduction" news section in 17th - 21st November 2003, Cheltenham, UK. most AUJ issues. -- dc] Date: Sat, 30 Aug 2003 18:23:50 GMT From: Stephane Richard [...] Subject: Welcome to Ada World! http://www.JohnRobinsonAndAssociates. Newsgroups: comp.lang.ada Date: Tue, 07 Oct 2003 22:07:29 GMT com It's here. If you' like to pay it a visit. Subject: Re: Cherche cours Ada From: [email protected] (Rod http://www.adaworld.com Newsgroups: fr.comp.lang.ada Chapman) If you want, go to my site Date: 16 Oct 2003 04:21:26 -0700 Everything is there except: Projects, Code (http://www.adaworld.com) and click on Subject: ANN: SPARK Training courses for snippets, Tips and tricks, Forum. the "Learning Center" button. Next on 2004 So by all means, start sending, if you have either "Tutorials" or "Free books". I have Newsgroups: comp.lang.ada anything in there. For the first 3, for the 4 tutorials (among others Lovelace) and 7 Details of public SPARK Ada training Forum, I'm working on it right now and PDF files in the "general" section of "Free courses for 2004 can now be found on hopefully will have it ready very soon. books". Enjoy www.sparkada.com Oh and to the one that said so, I hope it Stéphane Richard, "Ada World" There's also a new 1-day course all about DOESN'T look like it was designed in the Webmaster RavenSPARK intended for experienced early nineties... It's been fun, and a lot [See also "New AdaWorld Web Site" SPARK users, or for folks also attending more fun up ahead. further in this AUJ issue. -- dc] the basic "Software Engineering with Feedback form will change too, right now From: Allez le TFC SPARK" course in the same week. I just wanted something that did the job . Rod Chapman, SPARK Team, Praxis Stéphane Richard, Senior Software and Date: Tue, 14 Oct 2003 20:48:36 +0200 Critical Systems Technology Supervisor Subject: Re: Cherche cours Ada From: Stephane Richard Newsgroups: fr.comp.lang.ada Ada-related Resources Go to the site (http://intra1-cycle.insa- Date: Wed, 24 Sep 2003 01:49:23 GMT tlse.fr/didac_2.htm). This is for the first Subject: Mon nouveau Site Ada. year of the INSA of Toulouse. Ada is Another Ada Resources Newsgroups: fr.comp.lang.ada taught there from the first year on, the Page [Translated from French. -- dc] tutorial should help you get started. From: [email protected] (Alexander I have created my own site on the Ada Ada Training Kopilovitch) language, and I would like to share it with Date: 24 Aug 2003 16:27:54 -0700 you. The site is in English but if requests [This information is included as examples Subject: Less-known Ada-related WWW are strong enough, I would be pleased to of public Ada training courses: many are page offer a bilingual version. The first goal of being organized regularly. For more, see Newsgroups: comp.lang.ada the site is to promote Ada development also pointers in several previous AUJ is- Today I incidentally found this page: projects and the many books and devel- sues. -- dc] http://www.cbel.com/ada_programming_l opment tools available. From: [email protected] (Ed Colbert) anguage/ I request information on various Ada- Date: 27 Jul 2003 09:59:27 -0700 It has near 400 Ada links, some of them related subjects, in particular, about active Subject: Public Real-Time Ada 95 Courses slightly unusual. Some of the links are projects today to show how and in which 23-26 September 2003 in Carlsbad CA incorrect; I did not found AdaPower context Ada is used presently. As you will Newsgroups: comp.lang.ada among those links; but nevertheless this see when visiting my site, I believe it is Absolute Software will be holding a pub- site, perhaps, deserves some attention on the right track. lic course "Developing Real-Time Sys- (and correction -;) . So welcome at Ada World tems in Ada 95" on 23-26 September (http://www.adaworld.com). Feel free to 2003 in Carlsbad, CA. You can find a Ada in SEI's Software Tech- send me a message or links or projects to full description and registration form on nology Roadmap be added to make my site as complete as our web-site, www.abssw.com. Click the possible. Public Courses button in the left margin. From: Adrian Hoe Stéphane Richard, "Ada World" (We also offer courses on object-oriented Webmaster methods and other object-oriented lan- Date: Fri, 29 Aug 2003 10:59:09 +0800 guages.) [...] Subject: Re: Learn more on Ada Newsgroups: comp.lang.ada From: John Robinson http://www.sei.cmu.edu/str/descriptions/a Date: Thu, 28 Aug 2003 14:30:57 +0100 da83_body.html Organization: John Robinson And Associ- http://www.sei.cmu.edu/activities/str/desc ates Ltd riptions/ada95_body.html

Volume 24, Number 4, December 2003 Ada User Journal 200 Ada-related Resources

Subject: Re: APIWG Inquiries meetings, as well as all of the "Ada Inter- On Ada Standardization and To: [email protected] pretations" (AIs) which represent the on- Ada 200Y [Extracted from a response to questions going work items of the ARG. [...] From: Randy Brukardt and remarks on the Ada standard and the From: Erhard Ploedereder ISO standardization process: -- dc] Date: Thu, 4 Sep 2003 22:55:02 -0500 URLs of websites that you might want to Date: Wed, 8 Oct 2003 17:57:12 +0200 Subject: Re: Bases for the Design of a Stan- visit include: Subject: Re: APIWG Inquiries To: [email protected] dard Container for Ada http://www.sigada.org/ -- SIGAda's home Newsgroups: comp.lang.ada page offers links to copies of the latest I can add a couple of information bits.... > Time is an issue here because the Ada standard and rationale. The actual text of the Ada standard can be 2005 process includes really near dead- http://www.sigada.org/wg/apiwg/ -- found on www.ada-auth.org in a number lines now. Particularly, the first dead- APIWG is less than a year old; the home of formats. (Similarly, all the working line for the standard container library page currently does not offer a whole lot documents for the 2005 revision are there) proposal is the end of this month (Sep- of information but what is there might be There are two ways to get APIs standard- tember 2003). [...] useful to you. ized by ISO: To clarify this: http://www.ada-europe.org/ -- similar to a) as part of the language RM -- in this The end of September deadline is for the SIGAda in scope, Ada-Europe offers in- case you are stuck with the five-year cy- submission of issues/proposals from formation about the use of Ada in cle of the RM for a number of adminis- "non-invited" groups. (That is, the general Europe's Ada communities. trative reasons. public.) The basic idea is to stop looking http://www.dkuug.dk/JTC1/SC22/WG9 -- b) as secondary standards -- they can be at new ideas at that point and start decid- the WG9 web page also offers links to submitted at any time via WG9 as a ing on exactly what will be in the what the group is doing and what is document separate from the RM (but they Amendment. currently being discussed at its meetings. then enter a similar cyclic life) There is a secondary deadline of the end http://www.adaic.org/ARA/ -- the Ada There is no reasonable way to get a more of December for "invited" groups -- Resource Association has members who frequent revision cycle on ISO standards. which means all proposals need to be are Ada vendors or are Ada compiler It's possible in theory, but not in practice. submitted by then, or there is little chance vendors; they work together to "extend" In a way, ISO is right about this: an API that they would be included in Ada 200Y. the Ada language with useful additions in isn't really an international standard, if it That even includes Tucker. a much faster way than the standardiza- isn't stable over at least a five year cycle. The basic reason for the deadlines is the tion process does. My personal opinion: more than ISO- need to cut off input so that we can really http://www.ada-auth.org/ -- the Ada Con- standardized APIs, we need A SINGLE finish a document in the intended timeta- formity Assessment Authority replaced PLACE on the net, where a set of rea- ble. If we got input forever, we'd never the USDoD Validation Office to make sonably mature APIs is organized and really have a chance to finish. [...] sure that Ada compilers conform to the maintained. From: Randy Brukardt Ada language standard. [...] From: James W. Moore Clyde Roby, ACM SIGAda Secretary, Date: Fri, 5 Sep 2003 14:40:10 -0500 Acting Chair APIWG Reply-To: [email protected] Subject: Re: Bases for the Design of a Stan- From: Tucker Taft Date: Wed, 8 Oct 2003 12:47:13 -0400 dard Container Library for Ada Organization: The MITRE Corporation Newsgroups: comp.lang.ada Date: Wed, 8 Oct 2003 11:46:19 -0400 Organization: SofCheck, Inc. Subject: Re: APIWG Inquiries Submissions ought to be sent to the Ada- Subject: Re: APIWG Inquiries To: [email protected] Comment mailing list (like all ques- To: [email protected] [...] I will elaborate a bit on the mecha- tions/comments on the standard). The ad- nism of Ada standardization. dress is [email protected]. The [...] Standardization is an admittedly slow list is open to the public; if you make a process, because it is fundamentally built Like all international standards, the Ada submission, you ought to join the list; see on consensus. On the other hand, there is language standard is maintained by a http://www.adaic.org/standards/articles/co nothing precluding a group of users Working Group (ISO/IEC mment.html for details. establishing their own reusable libraries, JTC1/SC22/WG9) that is populated by and making them widely available. De- representatives of "national bodies", i.e. [See also "Comments on the Ada Stan- facto standards are often just as good, or countries. Currently we have participation dard" in AUJ 22.3 (Sep 2001), p.136. -- even better, than de-jure standards. from Canada, France, Germany, Italy, Ja- dc] Unfortunately, a number of people have pan, Russia, Switzerland, UK, and USA. From: Vincent Tourvieille concluded that if something isn't in the The process of international standardiza- Ada reference manual, it isn't "really" safe tion is not inherently slow. The "speed of Date: Mon, 08 Sep 2003 19:24:04 -0700 to use in "portable" code. But this is like light" for an international standard is Subject: Re: Nouvelle norme Ada future ? trying to amend a constitution every time about 12 months. We have actually proc- To: Marc Colinet , someone wants to pass a new piece of essed an Ada-related standard in 13 [email protected] legislation. Changes to the reference months. As with any other process that [Translated from French. -- dc] manual are necessarily and appropriately depends on consensus, the period of time slow in coming. Changes to a web site of to reach agreement is the determining > Much information refers to a new Ada shared code (such as could exist on standard which could appear or in any factor. In the case of Ada, we avail our- http://www.adaworld.com) can be daily selves of all mechanisms to accelerate case would be under discussion. What occurrences. is really happening? work. Our track record indicates that we In any case, if you want insight into the are highly effective in standardizing items For the discussion, you could visit: ongoing work on updating the Ada stan- quickly ONCE AGREEMENT IS http://ada-auth.org/arg-minutes.html dard, look at http://www.ada-auth.org -- REACHED. From: Clyde Roby you will find the minutes of the once- Date: Wed, 8 Oct 2003 10:03:26 -0400 every-four-months Ada Rapporteur Group

Volume 24, Number 4, December 2003 Ada User Journal Ada-related Tools 201

In order to reach agreement quickly, we - [email protected] management, code generation for popular use informal committees, called Rappor- - http://www.ada-france.org/mailman/ programming languages and a built-in teur Groups, which study issues and draft listinfo/comp.lang.ada scriptable reporting engine. When Ada is material for standardization. For example, selected in WinA&D 3.5, tailored UML we are currently processing a "Guide to [See also "More Ways to Access class models allow the designer to easily the Use of the Ravenscar Profile". Our Comp.lang.ada Newsgroup" in AUJ 22.2 represent Ada packages and various types Annex H Rapporteur Group, working in (Jun 2001), p.70. -- dc] of relationships like aggregation (par- collaboration with the University of York, ent/child and parent/nested packages), reached agreement on its content in about Ada Page on HitWeb Site generalization (generic instantiation) and 15 months. Approving the result as an dependency (withed packages). The UML ISO/IEC Technical Report will require From: Brian Fraval modeling experience has been tailored to another 12 or so months. (Actually, we Date: Thu, 16 Oct 2003 01:58:21 +0200 fit the conventions, standards and prac- could have gone faster but we are leaving Subject: Categorie Ada dans l'annuaire hit- tices used by Ada developers. Ada code open a window for possible last moment web generated from the model is an exact im- improvements.) Newsgroups: fr.comp.lang.ada plementation of the design including full It is not correct to say that our process for [Translated from French. -- dc] package specifications and body files, subprogram files with arguments, data revising the language takes ten years. I have just added a category "Program- types and stubbed implementations. Actually, we operate on a five-year cycle mation/Ada" in my personal directory. I for that. We completed a Corrigendum to included the sites quoted in the preceding [See also "Excel Software - WinA&D the standard (to deal with small problems) messages... but I may have forgotten quite Design Tool Adds Ada Modeling and in 2000 and will complete an Amendment a few... I let the authors register their Code Generation" further in this AUJ is- (to deal with larger problems) in 2005. It sites... (click on "add link") sue. -- dc] is our choice to move in a deliberate http://hitweb.org/index234.html You can access both company's web sites fashion for the underlying language stan- (and the web sites of many other Ada de- [From the description: "HitWeb is a web dard because WG9 collectively believes velopment tools vendors) from the site providing people with a powerful that stability of language definition is very AdaIC's tools page: dictionary gathering a very thoroughly important in the Ada community. http://www.adaic.org/links/tools.html. ranked set of internet addresses. Unlike Now, it is possible that you might dis- web sites search engines, hitweb is based Randy Brukardt, Technical Webmaster, agree with WG9 on the respective value on a human intervention." -- dc] AdaIC.org/AdaIC.com of stability versus change. If so, it would be important for you to participate in the Brian Fraval, http://brian.fraval.org/ process by which your particular nation Ada-related Tools takes positions on these issues, so that AdaIC News Items your opinion can be represented in the work of WG9. Most nations have rela- From: AdaIC Technical Webmaster Charles - Container Library tively open processes by which you might Date: Mon, 27 Oct 2003 20:33:56 -0600 From: Matthew Heaney participate. In the case of the US for ex- ample, a Technical Advisory Group Subject: [AdaIC] Two new Ada tools To: Date: Wed, 30 Jul 2003 13:16:31 GMT (TAG) administered by the IEEE devel- Subject: Re: Non-philosophical definition of ops US positions and selects US delega- Two new Ada development tools were Eiffel? tions to WG9 meetings; the US TAG is recently announced. Newsgroups: comp.lang.ada open to membership by any US-domiciled organization. Other nations have similar First, McKae Technologies' introduced > What about this statement: "In general, processes. DTraq. DTraq is a data logging and play- in the design of Charles I have been back debugging tool providing near real- willing to trade type-safety for I'm sure that any of the national organiza- time data logging and analysis to aid de- flexibility and efficiency." tions would be eager to have additional bugging and validation. Captured, or participation. I would be happy to provide 'tapped' data from a program can be What that refers to specifically is the case contact information for any of them. viewed live while the program is running of "dangling iterators." Regards, Jim Moore, Convener, ISO/IEC or, since it is being logged to a file, If I do this: JTC1/SC22/WG9 played back or printed out later for off- procedure Op (C : in out line review and analysis. DTraq handles Container_Type; James W. Moore, The MITRE Corpora- all data conversion automatically by tion, 7515 Colshire Drive, H505, E : in out scanning the application's source code, Element_Type) is McLean, VA 22102-7508, identifying tapped data items, and ex- [email protected] I : Iterator_Type; tracting the information it needs to prop- begin erly convert and display the logged items- Comp.lang.ada mailing list Insert (C, E, I); simple scalar items as well as arrays and Delete (C, I); records. When the layout of data items From: sk E := Element (I); -- dangling change, rescanning automatically picks up Date: Thu, 25 Sep 2003 18:25:21 -0500 -- reference the changes. Subject: Re: Impossible to communicate via end; email [See also "McKae Technologies - First The model in Charles is that an iterator is Newsgroups: comp.lang.ada Public Release of DTraq Data Logging implemented as a pointer to an internal and Playback Debugging Tool" further in node of storage, and it therefore confers > Looks like the comp.lang.ada mail- this AUJ issue. -- dc] no safety benefits beyond what a plain inglist isn't anymore: Second, Excel Software's WinA&D tool access type gives you. Here is the new c.l.a info from the has been upgraded to support Ada 95. To get a completely safe iterator -- one (working) subscription list distribu- WinA&D is a comprehensive software that prevents a dangling reference from tion/digest ... engineering tool for structured analysis ever occurring -- it is necessary to either - comp.lang.ada mailing list and design, OOA/OOD with UML, multi- reduce flexibility or reduce efficiency. task design, data modeling, requirements But as a library designer, I am in no posi-

Ada User Journal Volume 24, Number 4, December 2003 202 Ada-related Tools tion to decide how best to make that Newsgroups: comp.lang.ada that a library should be safe, easy-to-use, trade-off -- only the application developer [...] The purpose of tagged records is to flexible, and efficient. can know that. Therefore, my philosophy implement dynamic binding. One thing Charles has going for it is that has been to provide the most flexible and it's modeled on the C++ STL, which has efficient primitives possible, which can If the problem calls for dynamic binding, then maybe a tagged type is appropriate emerged as the de-facto standard by then be combined as desired by the library which other libraries are measured. The user. (but maybe not). If the problem does not require dynamic binding of operations, STL is a very, very good container li- We are in agreement that all this business then you probably don't need tagged brary, and there is absolutely no reason in Java where you have to perform a types. why the STL can't be written in Ada95. downcast when you extract an element is > To implement [an XML DOM binding] Realize of course that even though not type safe. But this is hardly the case Charles is modeled on the STL, it is not a in the STL and in Charles, which provide with discriminated records (a feature I always found to have too many literal translation of the C++ version. containers that really are type safe, unlike Charles is first and foremost an Ada li- Java. "gotchas!" built into it anyway) seems awkward and clumsy. If you don't brary. As for a container-of-D being a subclass think using tagged records to imple- From: Matthew Heaney of container-of-B, this model doesn't ap- ment something like this design is ap- ply to STL or Charles, because those li- propriate, what are you saving them Date: Fri, 26 Sep 2003 00:25:41 GMT braries eschew inheritance in favor of al- for? Subject: Re: who is in charge of Ada 0Y? ternate (and simpler) mechanisms. I have never had a problem with discrimi- Newsgroups: comp.lang.ada By using an iterator and a generic algo- nated records, so I don't know what "got- > As far as I've read, there is no organi- rithm, the container itself disappears. So chas" you're referring to. zation planning changes for Ada 0Y. In instead of a container-of-D, you have a such case, Ada95 is as petrified as sequence-of-D, which is a sequence-of-B, Tagged types are one tool among many. Use them when they make sense. Latin, and so it's doomed. Have I which is the equivalent of a container-of- missed something? is there such or- B. No inheritance is necessary, thank you It probably doesn't make sense to use a ganization? very much. tagged type when there is no dynamic binding. I don't know whether Ada95 is as petri- I'll have another release of Charles ready fied as Latin, but the language is actively in the next few days. Even when there is dynamic binding, us- being maintained under the stewardship http://home.earthlink.net/~matthewjheane ing case statements or subprogram point- of the ARG (Ada Rapporteur Group). y/charles/ ers is often simpler. It depends on the problem. In fact I just submitted a proposal for a From: Matthew Heaney standard container library for Ada 0X to Note that the Charles library implements the ARG this very afternoon! Date: Thu, 31 Jul 2003 13:10:03 GMT the full view of the container type as tagged, but only to add controlledness to http://home.earthlink.net/~matthewjheane Subject: Re: XML DOM Binding for Ada 95 y/charles/ - matter of style the type, so that memory management is Newsgroups: comp.lang.ada automatic. The partial view of the type is not tagged, and there is no dynamic PragmARC - PragmAda > I thought one of the problems with [the binding. [...] Reusable Components Ada95] Booch [Components] was that it was using tagged types too much. From: Matthew Heaney From: Jeffrey Carter Does Charles also use this approach? Date: Thu, 7 Aug 2003 18:49:36 -0700 Date: Fri, 05 Sep 2003 05:17:05 GMT Subject: Release of PragmAda Reusable One problem [with the Ada95 Booch Subject: Re: Bases for the Design of a Stan- Components] is that you have to make Components dard Container Library for Ada To: [email protected] two instantiations: one for the root pack- Newsgroups: comp.lang.ada age, in which the root type is declared, PragmAda Software Engineering an- and another, for the child package in [About submitting proposals for an Ada nounces a new release of the PragmAda which the actual container (derived) type container library to the ARG (see also Reusable Components. This release cor- is declared. This is a royal pain. "On Ada Standardization and Ada 200Y" rects errors and improves some compo- earlier in this AUJ issue). -- dc] Charles deliberately avoided this tech- nents. nique, because no inheritance is neces- The ASCLWG proposal will definitely be The PragmARCs are available from sary. Static mechanisms are used instead, submitted this month -- it should be fin- which are simpler and more general. ished in a couple of weeks. http://home.earthlink.net/~jrcarter010/pra gmarc.htm So don't use a tagged type hierarchy when [See also "Ada Standard Containers Li- there's a simpler mechanism available. brary Working Group" in AUJ 24.2 (Jun The mirror at www.adapower.com will be [...] 2003), pp.75-76. -- dc] updated soon, we hope. I'm not against tagged type ("object-ori- The proposal is based on the Charles al- [See also same topic in AUJ 23.4 (Dec ented") programming, it's just that many gorithms and container library, which is 2002), p.192. -- dc] programmers seem to treat this as a ham- available from my home page. Jeffrey R. Carter, PragmAda Software mer looking for a nail, and automatically http://home.earthlink.net/~matthewjheane Engineering use a tagged type to solve a problem that y/charles/ is better solved other ways. Design of a Standard Con- [And from a later message: -- dc] Look for a new release of Charles early tainer Library for Ada next week. [...] > You think you will be successful with your proposal? From: [email protected] (Mario Amado From: Matthew Heaney Well, I don't know -- it's up to the ARG. I Alves) Date: 2 Sep 2003 11:59:11 -0700 Date: Sat, 02 Aug 2003 03:40:54 GMT hope so. I think Charles is at the right level of abstraction, and satisfies the goals Subject: Bases for the Design of a Standard Subject: Re: XML DOM Binding for Ada 95 Container Library for Ada - matter of style

Volume 24, Number 4, December 2003 Ada User Journal Ada-related Tools 203

Newsgroups: comp.lang.ada Matthew Heaney and based on Charles, is > I just started a programming course I'm submitting this document to the Ada basically very good. [...] using the Ada language. My problem is community as a request for comments: Links to some of the projects I mentioned that I would like to use GNAT on my are: main computer. However, this com- "Bases for the Design of a Standard Con- puter, an Apple ibook, runs Linux, in tainer Library for Ada ... an attempt to put http://home.earthlink.net/~matthewjheane fact Gentoo Linux 1.4. [...] I cannot use together a complete, consistent, and cor- y/charles/ the binaries available one the official rect set of bases for the design of a stan- http://www.adapower.net/booch/ GNAT site and I cannot use RPM be- dard container library for Ada." cause my distro does not support them. http://home.earthlink.net/~jrcarter010/pra My question is simple: how to compile Please find the full 130 paragraph long gmarc.htm document in GNAT in this case? http://adasl.sourceforge.net/ http://www.liacc.up.pt/~maa/bases_1.txt See (public access) or in http://homepage.ntlworld.com/ramatthews http://dev.gentoo.org/~dholm/ada.html. http://groups.yahoo.com/group/asclwg/fil / [for GAPSE] And there are quite a lot of Ada packages es/Bases (might require Yahoo! login) http://ascl.sourceforge.net/ available, see http://csociety-ftp.ecn. The document includes a Bibliography, http://tenet.berlios.de/ purdue.edu/pub/gentoo-portage/dev-ada/. and instructions on how to convey spe- You should be able to put together a nice cific comments. Of course general com- [More information on these projects is environment. ments are welcome as well as immediate included in virtually every AUJ issue. -- replies right here. dc] GNAT for Mac OS X Grace - Ada Library GNAT for Gentoo From: Alan B. Reynolds GNU/Linux From: Stephen Leake Date: Wed, 27 Aug 2003 18:28:10 GMT From: David Holm Subject: Re: Free Ada95 compiler for Date: 27 Oct 2003 11:56:57 -0500 MacOS X Organization: NASA Goddard Space Flight Date: Wed, 27 Aug 2003 15:29:34 GMT Newsgroups: comp.lang.ada Center (skates.gsfc.nasa.gov) Subject: GNAT 5.0 for the curious > Does anybody know of a simple pack- Subject: Grace 0.51 released Newsgroups: comp.lang.ada age to get an Ada95 compiler on Mac Newsgroups: comp.lang.ada Gentoo GNU/Linux OS X? I know versions are available I've made a new release of Grace, _the_ (http://www.gentoo.org/) now offers CVS for so... community Ada library . Config_Files has snapshots of GNAT 5.0 if anyone is inter- Try http://www.macada.org. been improved. See ested in testing it. They are masked since http://savannah.nongnu.org/projects/grace GNAT 3.15p is still the stable release, but [See also same topic in AUJ 24.3 (Sep /. just remove the gnat entry in 2003), p.140. -- dc] /usr/portage/profiles/package.mask and [See also "Grace.Config_Files" in AUJ From: Adrian Hoe you will be able to install it. I only have a 24.3 (Sep 2003), p.145, and "Platform few tests here (that fail with gnat in gcc 3) Independent Access to Configuration In- Date: Fri, 29 Aug 2003 10:52:59 +0800 and they worked with GNAT 5.0. Any- formation" in AUJ 24.1 (Mar 2003), p.16. Subject: Re: Free Ada95 compiler for way, if you are using gnat from gcc 3 you -- dc] MacOS X will definately want to ditch that and use Newsgroups: comp.lang.ada the snapshot as it contains the uncrippled And http://adrianhoe.com for an installa- Ada Container Library Pro- gcc patch along with much newer Ada- tion HowTo. jects code. I will try to update the snapshot on a regular basis until 5.0 is released. From: Jim Hopper From: Nick Roberts At the moment it is not possible to have Date: Thu, 23 Oct 2003 09:27:40 -0400 multiple versions of GNAT installed in Date: Tue, 28 Oct 2003 00:17:45 Subject: Re: www.gnuada.org maintainer- Gentoo. I'm working on this since then Subject: Re: Grace 0.51 released ship you would be able to have both 3.15p and Newsgroups: comp.lang.ada To: GNAT Discussion List 5.0-snapshots. I'm currently prioritizing > If we do get a community library going, porting it to other platforms though (ppc let's at least use the name Grace (for to begin with as I bought a Pegasos yes- For the Mac OS X stuff you can just pro- Grace Hopper), and not CAL or terday). vide a link to our OS X page at whatever. which is pro- David Holm, Gentoo dev-team Or alternatively, let's call it 'Charles', or vided by David Botton. [And from a later message: -- dc] maybe 'ASCL', or 'Booch', or 'Prag- The idea of having areas each managed mARC', or 'GAPSE', or 'AdaSL', or 'SAL', > Just curious: where did you get it? I by an individual is the way we have been or 'Tenet', or ... wasn't aware that ACT released GNAT doing it for the Mac site. For instance In fact, my guess is that it's going to be 5.0 to the public. [...] Drew and Al Reynolds are primary re- called 'Ada'. I believe the ARG are inter- Um, from libre.act-europe.fr/gnat. The sponsibility for the compiler port, Stephen ested in introducing a basic set of con- CVSROOT is on the bottom half of the Bespalko does GDB, Phillip Gonia is do- tainers into the next revision, [...] If you're page. ing tutorials, I am doin bindings to Ap- interested, please look at AI-302: ple's Carbon Gui and example code. From: Lionel Draghi http://www.ada-auth.org/cgi- That's not to say that we don't all help out bin/cvsweb.cgi/AIs/AI-10302.TXT on other things: Andrew contributes to the Date: Thu, 11 Sep 2003 00:13:15 +0200 bindings, and example code for instance This proposal is huge, but it is currently Subject: Re: Une question sur gnat and I work with Phillip on the tutorials, undergoing revision to significantly re- To: [email protected] etc. This has worked out very well for us. duce it. I think the proposal, submitted by [Extracts translated from French: -- dc]

Ada User Journal Volume 24, Number 4, December 2003 204 Ada-related Tools

GNAT for Mac with Linux Fuzzy Sets for Ada includes some html documentation, at http://www.jvdsys.demon.nl From: Arnaud Rolly From: Dmitry A. Kazakov Jerry van Dijk, Leiden, Holland Date: Fri, 12 Sep 2003 14:39:20 +0200 Date: Mon, 25 Aug 2003 11:13:06 +0200 GUI Programming Under Organization: Eikonex Subject: ANN: Fuzzy sets for Ada version Subject: Re: Une question sur gnat 3.3 OS2 cc: [email protected] Newsgroups: comp.ai.fuzzy,comp.lang.ada From: Gregory Bourassa [Extracts translated from French: -- dc] Fuzzy sets for Ada is free and distributed > It's the first time I hear talking about a in source code. Date: Thu, 31 Jul 2003 19:48:57 -0400 Mac running Linux. To the best of my http://www.dmitry-kazakov.de/ada/fuzzy. (EDT) knowledge, all modern Macs either htm Subject: Re: Ada and OS2 Newsgroups: comp.lang.ada have a MacOS X system, which has a [See also same topic in AUJ 23.3 (Sep specific Unix kernel completely differ- 2002), p.132. -- dc] > Has anybody experiences with GUI ent from Linux, or MacOS 9. [...] programming in Ada under OS2? Version 3.3 provides implementations of: It's already quite a while possible to use Which GUI toolkit is available for us- Mac under Linux. The best suited distri- 1. Confidence factors with the operations ing it under OS2? bution is Yellow Dog Linux not, and, or, xor, +, *; On http://hobbes.nmsu.edu search in (http://www.yellowdoglinux.com) of Ter- 2. Classical fuzzy sets with the set-theo- /pub/os2/dev/ada for adagraph.zip and raSoft. It is interesting to note that Terra- retic operations and the operations of the os2apipm.zip. These are Ada bindings to Soft has agreements with Apple for the possibility theory; the OS/2 APIs. Also in support of the material. I deployed Linux /pub/os2/dev/emx/contrib/gnat there is 3. Intuitionistic fuzzy sets with the opera- on iMac (G3) and G4, it runs well: -) gnat-os2apipm.zip. tions on them; Arnaud Rolly, Eikonex, Open Source En- From: Georg Bauhaus fuzzy sets and the possibility theory; From: Laurent Guerby Date: Fri, 1 Aug 2003 14:04:15 UTC Date: Fri, 12 Sep 2003 21:04:05 +0200 5. Fuzzy numbers both integer and float- Subject: Re: Ada and OS2 Subject: Re: Une question sur gnat ing-point ones with conventional arith- Newsgroups: comp.lang.ada metical operations; To: Mathieu Leduc-Hamel Visual Ada Developer is available for 6. Linguistic variables and sets of linguis- OS/2 too. [See further. -- dc] cc: [email protected] tic variables with operations on them; [And from a later message: -- dc] Apparently Ben Stanley managed to get 7. String-oriented I/O is supported. [...] maybe you could start with Tash from GNAT running on ppc-yellowdog-linux http://www.adatcl.com and Tcl/Tk from [incl. tasking -- dc]: AdaOpenGL 0.12 - Thin http://hobbes.nmsu.edu? http://gcc.gnu.org/ml/gcc/2003-09/ Ada OpenGL Binding msg00287.html VAD 6.2 - Visual Ada Devel- From: David Holm Synchronization of FSF oper Date: Tue, 12 Aug 2003 01:27:23 GMT GCC with ACT GNAT From: Stas Subject: AdaOpenGL 0.12 released Date: Wed, 1 Oct 2003 18:09:42 +0200 From: Mark Lorenzen Newsgroups: Subject: Announce: Visual Ada Developer comp.lang.ada,comp.graphics.api.opengl (VAD) version 6.2. Leonid Dulman Date: Tue, 28 Oct 2003 00:41:07 +0100 I just released AdaOpenGL 0.12. It in- Newsgroups: comp.lang.ada Subject: Good news regarding GNAT in cludes bindings to WGL and GLFW and [Extracts of announcement only. See also FSF GCC tree the GNAE support has been fixed. It has "VAD 6.1 - Visual Ada Developer" in Newsgroups: comp.lang.ada been synced with the latest version of AUJ 24.2 (Jun 2003), p.76. -- dc] It seems that ACT will allocate resources gl.h, glx.h and glext.h. You no longer to get the official FSF GCC tree up to need a patched AdaBindX to use it with VAD 6.2 Common description. date with the ACT tree. This is good news GLX. VAD (Visual Ada Developer) is a Tcl/Tk as there is supposed to be *a lot* of fixes As usual you can find it here: oriented Ada-95(TCL) GUI builder port- in the ACT tree, that have not yet made it http://adaopengl.sf.net/ able to different platforms, such as Win- into the FSF tree. dows NT/9x, Unix (Linux), Mac and [See also "AdaOpenGL 0.10 Released" in http://gcc.gnu.org/ml/gcc/2003-10/ OS/2. You may use it as IDE for any Ada- AUJ 24.3 (Sep 2003), p.142. -- dc] msg00833.html and msg00846.html 95 (C, C++, TCL) project. You may use From: Preben Randhol AdaGraph - High-Resolu- it to build TCL scripts only. VAD gener- ated Ada sources you may compile and Date: Wed, 29 Oct 2003 09:33:14 UTC tion Color Graphics build executables with GNAT on Win- Subject: Re: Good news regarding GNAT in dows and Unix(Linux) or Aonix Ob- FSF GCC tree From: Jerry van Dijk jectAda 7.2 on Windows. [...] Newsgroups: comp.lang.ada Date: 01 Sep 2003 17:15:56 +0200 Subject: New, fixed, version of AdaGraph VAD 6.2 has five realization: for tcl/tk Very good news! It would mean a lot if Newsgroups: comp.lang.ada 8.0.x, 8.2.3, 8.3.5 and 8.4.4 (last version). GNAT 3.x gets stable and can be used as You need to install and to check tcl/tk it will be readily available on most major For some time now AdaGraph was first. [...] Linux distributions. plagued by a Win2K/XP bug. This is now fixed. VAD 6.2 is available in http://www.websamba.com/tcltk/vad.htm. You can download the new AdaGraph You may dowload sources [...] and bina- installer (version 0.5e) which now also ries [...] (Windows 9x/NT) [...] (Linux).

Volume 24, Number 4, December 2003 Ada User Journal Ada-related Tools 205

Any questions, any ideas, any problems, and storage in a DBM Database, Custom Just, if you're interested: while I was any help: browsing pages, and page layout inheri- writing XML4Ada95 I had to solve some Leonid Dulman ([email protected]) tance. problems about interfacing Ada 95 with Currently available on Linux platforms, C++ without having it crash on excep- XML4Ada95 - Binding to but can be very easily recompiled on MS tions and on I/O-streams. I have written WXX. down my experience and solutions with Xerces XML Package this in my Diplomarbeit (sorry, this is in http://imgsvr.tuxfamily.org German, but you may find the source From: Denny Vrandecic code useful nevertheless). Binding to Lua 5.0 API Date: Wed, 30 Jul 2003 13:32:23 +0200 Peek at: Subject: XML DOM Binding for Ada 95 - From: chris http://www.nodix.de/xml4ada95/interface matter of style Date: Mon, 22 Sep 2003 00:36:50 +0100 .htm. Or ask me. Newsgroups: comp.lang.ada Subject: [Ann] Ada 95 binding to Lua 5.0 APQ 2.0 Thick Database I am writing an XML DOM Binding for Newsgroups: comp.lang.ada Ada 95 (as part of my master thesis) - not I am pleased to announce the release of a Binding really the whole parser, just a binding to a portable binding to the Lua 5.0 program- From: Warren W. Gay VE3WWG parser that is more complete (i.e. imple- ming api. Lua allows software developers ments more modules of the DOM Spec) to provide tailored scripting and extension Date: Sun, 7 Sep 2003 23:45:40 -0400 than the otherwise great XmlAda by facilities in their applications with a sim- Subject: APQ 2.0 is now Released ACT. The binding will be given to the ple yet powerful programming API at (PostgreSQL/MySQL thick Binding) community for free under a BSD-like li- virtually no cost (Lua is licensed under Newsgroups: comp.lang.ada cense. the terms of the MIT license). Now Ada I'd love to write the binding in such a 95 developers on a wide range of plat- [See also "APQ - PostgreSQL Ada95 way, that later the user may easily switch forms can utilise Lua in their applications Binding" in AUJ 23.4 (Dec 2002), p.195. to a native DOM Implementation (like a under the same terms as the Lua software -- dc] further developed XmlAda), which I'm (yes, that's right! It is licensed under the At long last, the APQ 2.0 Thick Database sure will finally come. [...] MIT license too). Binding has now been released. See: Denny Vrandecic, Student of computer A few days ago a highly experimental and http://home.cogeco.ca/~ve3wwg/software. science, University Stuttgart featureless version of the binding was re- html#APQ leased, but with todays release (version What is APQ? From: Denny Vrandecic 0.1) the binding includes most of the functionality of the C programmers API. It is a thick binding to the database client Date: Wed, 15 Oct 2003 22:35:26 +0200 libraries for PostgreSQL and MySQL Subject: XML4Ada95 0.9 - released! Notable exceptions are the debugging API (new). No ODBC driver or configuration Newsgroups: comp.lang.ada and the operations on "user data" as de- is required. You can build APQ with any fined by Lua. These are penciled in for combination of the databases you want to XML4Ada95 is an Ada 95 binding to the 0.3/0.5 (hopefully soon). popular Xerces XML package written by support. the Apache Group and this is the first This release includes: Also new is the concept of "Generic public release of the binding. The binding - bindings to substantial portion of the Database Programming". Using tagged is released under the BSD license, Xerces api; objects and polymorphism, it is now pos- is released under the Apache license, thus sible to code your application in a data- - two example programs adapted from the using this is absolutely free. base neutral way. See Chapter 8 "Generic Lua book (a simple command line inter- Database Programming" for a description The binding offers a complete access to preter, an example of using Lua for con- of this and a program example. the DOM Level 1 and DOM Level 2 figuring applications); Core, and partial access to DOM Level 3 Why use APQ? - a first attempt at a user manual. Core and DOM Level. - Very simple to use (only 2 objects to use Future releases will include: binding to You can obtain more information on the + 1 for blobs). the debugging api, "user data" facilities, following website: binding to libaux facilities, example util- - Only Ada95 data types (no C language http://www.nodix.de/xml4ada95 ising Lua & AdaOpenGL, better docu- interfaces). You can obtain more information about mentation. - Blob support (PostgreSQL only at this Xerces at: http://xml.apache.org/xerces-c The binding can be found at time). I welcome any feedback, and will try to www.cyberdanx.co.uk/ada95/lua.html. - Full suite of generic func- answer questions about the usage. Don't hesitate to email tions/procedures for strongly typed pro- [email protected] with queries, bug gramming. Imgsvr - Personal Picture reports, patches, advice and suggestions! Web Server - Date/time object support. [See also "Bindings for GUILE Inter- - No ODBC or other infrastructure to get From: Patrice Freydiere preter" in AUJ 24.3 (Sep 2003), pp.142- going. 143. -- dc] Date: Thu, 18 Sep 2003 12:26:24 +0200 - Generic database programming is possi- Subject: imgsvr first release annoncement ble (database neutral code). Newsgroups: comp.lang.ada Interfacing Ada with C++ - Full support for NULL values (including I'm proud to announce the first release of From: Denny Vrandecic strong typing). Imgsvr 0.1, a personal picture web server based on the famous AWS/Template Date: Wed, 15 Oct 2003 22:49:42 +0200 - ACL or GPL2 dual license. Parser components, implemented in the Subject: Interfacing Ada with C++ - Extensive programmer's reference man- Ada language. Newsgroups: comp.lang.ada ual (with examples). ImgSvr v0.1 supports FileBased JpegFiles thanks to JpegLib, Thumbnails generation

Ada User Journal Volume 24, Number 4, December 2003 206 Ada-related Tools

- Soon to be available to win32 program- This program will create a table ODB - Object Persistency mers. TEST_TBL, insert a few rows, and then Framework Win32 builds are possible if you know perform a select on the table. what you're doing. I just haven't taken the A full APQ-2.1 source release is also From: Michael Erdmann time yet to document this procedure. A available from: http://home.cogeco.ca/ win32 binary release is planned, however. ~ve3wwg/apq-2.1.tar.gz Date: Sat, 13 Sep 2003 14:04:19 +0200 This includes a win32.pdf file with in- Subject: Release of ODB 0.5 APQ Forum at structions for building the win32 release. Newsgroups: comp.lang.ada www.adaworld.com The APQ pdf manual is also included. As part of the GNADE (http://gnade.sourceforge.net/ the object From: Warren W. Gay VE3WWG APQ-2.1 Unix/Linux Enhancement: You no longer are required to provide library persistency framework ODB 0.5 is re- leased. Date: Fri, 19 Sep 2003 13:06:29 -0400 linker arguments. [...] The win32 port Subject: Announce: APQ Forum Now works the same way, thanks to GNAT The software allows you to store and re- Available at www.adaworld.com pragmas. trieve Ada 95 objects. Please refer to the Newsgroups: comp.lang.ada Don't Forget the www.adaworld.com Fo- documentation on the home page. I am making some progress in developing rum for APQ. Thanks to Stéphane This release is a prerelease with the fol- the win32 release for APQ-2.0, which is Richard there is a small forum at lowing restrictions: the interface to the documented in updates to the APQ spe- www.adaworld.com for comments, sug- underlying storage media is not yet stable; cific forum that was kindly provided at gestions and questions related to APQ. the software has only been tested on www.adaworld.com. From the main page, click on "Projects' Linux i686 architecture. Forum" (at left) to participate. If you want to follow the status updates, From: Michael Erdmann or discuss APQ issues/ideas, then please From: Warren W. Gay VE3WWG check out the APQ site forum. Date: Fri, 17 Oct 2003 21:59:18 +0200 Date: Sat, 11 Oct 2003 12:01:38 -0400 Subject: Release of ODB 0.6.2 At the home page [see above -- dc], click Subject: Announce: APQ-2.1 Win32 Bina- Newsgroups: comp.lang.ada on "Project's Forum" button at the left, to ries Install for GNAT 3.15p now Avail- locate the APQ forum. Or just click on: The Version 0.6.2 of ODB is available at: able http://sourceforge.net/projects/gnade http://www.adaworld.com/projectforum/ Newsgroups: comp.lang.ada This SW package provides means of im- APQ 2.1 with Win32 Sup- Due to the fact that the *.ali file format plementing object persistency with Ada port differs between GNAT 3.14p and 3.15p, I 95. Since the code of this project started have made win32 binaries available for as an spin of of some other work, this is GNAT-3.15p users. The install includes a From: Warren W. Gay VE3WWG still a development release and comments sample win32_test.adb program for your or requirements are welcome! own testing pleasure, and a complete PDF Date: Wed, 24 Sep 2003 16:51:48 -0400 manual for the APQ API. Subject: Announce: APQ-2.1 with Win32 Minimal Run Time for Support Released Win32 users can compile APQ from GNAT Newsgroups: comp.lang.ada sources, but it requires a number of tools, including the Microsoft C compiler. Ad- From: sk I am happy to announce, that APQ-2.1 ditionally, there are a number of pitfalls with win32 support, is now available. It Date: Fri, 29 Aug 2003 00:21:25 -0500 that make the process less than elegant. Subject: Re: porting/recompiling GNAT run comes complete with a GUI self installer, For this reason, win32 users are encour- thanks to the folks at Nullsoft Scriptable time library aged to install the APQ binaries, using the Newsgroups: comp.lang.ada Install System (See GUI installer provided. The installer in- http://nsis.sourceforge.net/site/index.php). cludes an uninstaller, for those that just > Has someone made a minimal custom APQ is a client level Ada95 thick binding want to test drive APQ. Linux/Unix users run time library for use with GNAT to Databases. At the present time, APQ will find it easy to compile and install No_Run_Time pragma? provides native support for PostgreSQL from sources. No runtime, but a standalone "pragma and MySQL but other databases may be Visit http://home.cogeco.ca/~ve3wwg and No_Run_Time" ELF [executable] booting supported in the future. click on the APQ link that is prominently from [the] GRUB [boot loader] with no The binary win32 APQ-2.1 release can be displayed there for more details and GNAT dependencies. installed with a few mouse clicks by downloading. www.ktc.com/~sknipe/EOSA-BOOT- opening http://home.cogeco.ca/~ve3wwg/ Also, checkout the APQ in the 0.0.11-beta.2.tar.bz2 [or .gz -- dc] APQ-2.1.EXE www.adaworld.com "Projects' Forum" for Directly download one of the above and The installer is "GNAT aware", and will further discussions about APQ and future ignore the web page, it is not current. install APQ along side GNAT's developments. [See also "Booting an Ada Main Win32Ada binding. As a result, your What is APQ? Program" in AUJ 24.2 (Jun 2003), p.79. -- APQ client programs will automatically dc] link with it as required. APQ is a thick Ada95 binding to the na- tive drivers for PostgreSQL and MySQL From: [email protected] (Jeff) An uninstaller is included, for those who database products (no ODBC required). Date: 29 Aug 2003 06:14:47 -0700 just want to give it a whirl. Using an OO framework, you can easily Subject: Re: porting/recompiling GNAT run A test program win32_test.adb is included write code that performs SQL operations time library in the above install. The test program only on your favourite database platform. A Newsgroups: comp.lang.ada requires you to: 1. choose database sup- complete PDF manual is provided. Al- Create a "gnat.adc" that contains: port by uncommenting "with" statement; most all API operations include an exam- 2. edit in your account and password; 3. ple program fragment. [...] The next re- pragma No_Run_Time; edit in your database name; 4. gnatmake lease will include support for Sybase pragma Restrictions(No_Exceptions); win_test; 5. .\win_test Adapative Server Enterprise 12.5. This has worked for me in the past.

Volume 24, Number 4, December 2003 Ada User Journal Ada-related Tools 207

Cheddar - Real-Time task response times, apply processor utili- > I am planning a realtime application for zation test, schedule for a given base pe- data acquisition on a pc104 platform Scheduling Simulator riod, compute bound on buffer size (when and investigating my OS options. I'm From: Frank Singhoff buffer are shared by periodic tasks). normally a Delphi programmer, and Shared resources support (scheduling and rather than the pain of boning up on my Date: 4 Sep 2003 13:28:42 GMT blocking time analysis). Supported proto- very poor C/C++ skills, I would like to Organization: Universite de Bretagne cols: PIP, PCP. learn Ada for this project. Can someone Occidentale please point me to some links which Tools to express and do simula- outline the pros and cons of the various Subject: ANN: New release of Cheddar, a tions/feasibility tests with task preceden- real time scheduling simulator OS's. I'm sure there are numerous I cies: schedule tasks according to task pre- haven't heard of yet. Newsgroups: fr.comp.lang.ada cedencies, compute Tindell end to end The EA 2215 team is pleased to announce response time, apply Chetto and A few years ago I lead a robotic control a new release of Cheddar, a free real time Blazewicz algorithms. development effort on a pc104 system. scheduling simulator. We looked at several good OS's. At the Do simulation when tasks are randomly time the OS's with good Ada support were [See also same topic in AUJ 23.4 (Dec activated. Multi from GreenHills, PharLap bundled 2002), pp.198-199. -- dc] 2) The most important new features are: with Aonix Object Ada, and VxWorks used with Object Ada or Gnat. Cheddar is a free real time scheduling - Cheddar project files are now saved in a tool. Cheddar is designed for checking XML format. Project can then be shared We chose the PharLap/Object Ada com- task temporal constraints and buffer sizes between several platforms and tools. bination for a number of reasons includ- of a real time application/system. It can ing licensing costs. I believe any of these also help you for quick prototyping of real - Add response time feasibility tests for operating systems offer the features you time schedulers. Finally, it can be used for RM/DM/POSIX.4 in the non preemptive are looking for. educational purposes. case. Add EDF/LLF response time feasi- bility tests in the preemptive and the non > Also any background info I should read Cheddar is composed of two independent preemptive case. before starting in on Ada would be parts: an editor used to describe a real great. time application/system, and a frame- - Add response time from scheduling work. The editor allows you to describe simulation. You will want to read some of the online systems composed of several processors articles and books at www.adapower.com - When Cheddar crashes, the ongoing before starting. Ada looks a lot like which own tasks, shared resources and project is saved in a XML file called buffers. The framework includes feasi- Pascal, but has a lot of features that are "cheddar_bug.xml" and then, project ed- different from Pascal. In particular you bility tests and simulation tools. Feasibil- iting is not lost any more. ity tests can be applied to check that task will want to study the Ada visibility rules. response times are met and that buffer - Add parametric schedulers. Depending upon your design, you also size are bounded. When feasibility tests - Produce simulation results in string or may want to exercise some of the tasking can not be applied, the studied application XML format. capabilities of Ada. We certainly used can be analysed with scheduling and - Add some classic Queueing results in them extensively in the robotic system. buffer simulations. the framework to help buffer analysis. We also used generics, streams, and tagged types. The current release is now 1.3p1. Ched- - Add a C inferface to the Ada frame- dar is distributed under the GNU GPL work. Jim Rogers license. It's free software, and you are From: Martin Dowie welcome to redistribute it under certain - Add some tools to do random schedul- ing simulation. conditions; see the GNU General Public Date: Fri, 24 Oct 2003 21:15:42 UTC License for details. Source code, binaries - Fix some bugs (see BUGS file). Subject: Re: Realtime and Ada - stupid and documentations can be freely 3) Work in progress: newby question downloaded from http://beru.univ-brest.fr/ Newsgroups: comp.lang.ada ~singhoff/cheddar During the next year, we plan to improve the tool with the following features: > [A few years ago] the OS's with good Cheddar is written in Ada with GtkAda. It Ada support were Multi from runs on Solaris, Linux and win32 boxes - Update the user's guide. GreenHills, PharLap bundled with and should run on every GNAT/GtkAda - Improvement of the buffer analysis fea- Aonix Object Ada, and VxWorks used supported platforms (see ACT web site tures. with Object Ada or Gnat. for details). - Add feasibility tests and simulation fea- Small correction - "Multi" is the Green 1) With Cheddar, you can: tures for multi-processors systems. Hills IDE - it supports numerous OS, in- Do scheduling simulations with classical - Rebuild of shared resources support: cluding their own "Integrity" and Wind real time schedulers: Rate Monotonic, adding new protocols and add parametric River's VxWorks. Deadline Monotonic, Least Laxity First, shared resource protocols. From: Randy Brukardt Earliest Deadline First, POSIX.4 queue- ing policies: SCHED_OTHERS, Feel free to contact us for help or bugs report. Date: Fri, 24 Oct 2003 16:45:33 -0500 SCHED_FIFO and SCHED_RR) with Subject: Re: Realtime and Ada - stupid different type of tasks (aperiodic, peri- OS Options for Real-Time newby question odic, task activated with a poisson process Newsgroups: comp.lang.ada law, ... Ada > Is Pharlap an RTOS? My quick reading Extract information from scheduling of their website seemed to indicate that simulation: buffer utilization factor, task From: James Rogers it was a DOS extender that made DOS response times, task missed deadlines, "more" realtime. Admittedly that may number of preemption, ... Date: Fri, 24 Oct 2003 21:05:32 GMT Subject: Re: Realtime and Ada - stupid be real enough for my task. Apply feasibility tests on tasks or buffers newby question It originally was a DOS Extender, but (without scheduling simulation): compute Newsgroups: comp.lang.ada later on there were bare-machine versions

Ada User Journal Volume 24, Number 4, December 2003 208 Ada-related Tools

(that is, an RTOS). I have no idea what Organization: Dublin City University (perfectly) the new .ali format appeared in the current state is, though. Subject: Re: Realtime and Ada - stupid gnat 3.15. [From: Ed Falis ] newby question [From: [email protected] (John Newsgroups: comp.lang.ada As of the last time I looked, maybe 3 McCabe)] years ago, their Embedded ETS product Read up on Ada 95's support for inter- I think you're right. It would be nice if the was definitely an RTOS, and a nice lean facing to C so that you will be able to use ACT free download and GNU versions at one at that (disclaimer: I used to work a wide range of device drivers. least appeared to be consistent with them when I was at Aonix). The DOS-Extender is an older product, that I Design Patterns and UML AdaCL - Ada Class Library believe was their original. But they have Mappings been building the embedded OS for quite From: Martin Krischik some time now (~10 years). From: Xaelis Date: Mon, 22 Sep 2003 13:17:08 +0200 Date: Tue, 02 Sep 2003 18:20:45 +0200 [From: James Rogers Organization: Universite des Sciences et Subject: [Announcement] AdaCL 3.2.0 ] Technologies de Lille, France released. When I worked with it we used the ETS Subject: Re: Design patterns (Modèles de Newsgroups: comp.lang.ada OS, which is clearly an RTOS. It has a conception) [See also same topic in AUJ 24.3 (Sep very nice feature. The API is a subset of Newsgroups: fr.comp.lang.ada 2003), pp.144-145. -- dc] the Win32 API. This means you can do a [Translated from French: -- dc] lot of unit testing on your development Notes: Maintenance Release, fixes bugs. > Can somebody tell me if there is lit- PC before recompiling for the target. This Changes: New Class erature (French or English) concerning helps speed development and lowers BC.Support.Tagged_Reference to handle Ada solutions for patterns such as Sin- contention for the development target instances of abstract Classes. system. gleton, Factory and others (those of GoF in a general)? Abstract: AdaCL is a library to write In 1999 PharLap was working on adding small, script like, programs in Ada. The I think that will make you happy: some optional GUI extensions to ETS. I main tasks currently implemented are fil- never used that version. http://www.acm.org/sigs/sigada/wg/patter tering of text files (global search and re- I liked ETS because we could tailor the ns/patterns/GOF/source/ada/ place), execution of external programs complexity and size of the RTOS. We http://www.acm.org/sigada/wg/patterns/ (inclusive redirection of standard input could use a bare-bones kernel requiring and standard output) and command line about 6K of memory, or we could add [See also "Design Patterns in Ada95" in parsing. AUJ 20.3 (Oct 1999), p.177, AUJ 20.2 features such as a full file system, a In addition AdaCL features a true garbage TCP/IP stack, and several other (Jul 1999), pp.102-104 and AUJ 20.1 (Apr 1999), pp.12-14. -- dc] collector (if you write scripts you don't interesting drivers. The file system could want to think about memory manage- support disk-on-chip implementations so > Is there literature about to the/a map- ment) and extensions to the Booch com- that you could treat a ramdisk as though it ping UML -> Ada? ponents for handling indefinite types. was a hard drive. We used a 40Mb ram- Perhaps ["Mapping the UML Notation to disk as though it was a Win32 file system The demo programm sarDo is slowly up- Ada 95" -- dc]: graded to a full featured search and re- on a disk drive, including the ability to http://www.cs.hmc.edu/tech_docs/qref/rat define directories as well as files. place tool and used by me on a daily ba- ional/DevelopmentStudioUNIX.2000.02. sis. The amount of stack space, and the num- 10/docs/html/rose_ada95/1mapping.html http://www.ada.krischik.com ber of tasks supported by ETS was limited If you finds anything else, that interests only by the amount of memory on your me too. From: Martin Krischik system. The OS did not provide hard lim- its to the number of tasks. [See also "UML to Ada Working Group" Date: Tue, 23 Sep 2003 16:07:09 +0200 in AUJ 24.3 (Sep 2003), p.144, and "Ada- From: Jeff C Subject: AdaCL 3.3.0 released. UML Profile" in AUJ 24.2 (Jun 2003), Newsgroups: comp.lang.ada Date: Sat, 25 Oct 2003 13:37:58 GMT pp.79-80. -- dc] Subject: Re: Realtime and Ada - stupid Notes: This Release features new Indefi- newby question Alexis Muller, Laboratoire d'Informatique nite Containers. The Indefinite Containers Newsgroups: comp.lang.ada Fondamentale de Lille (LIFL), Universite can store more different kind of data. de Lille, France, Since they can store Element'Class as well > Of particular interest is availability of http://www.lifl.fr/~mullera device drivers for the various OS's. We Tagged Containers are not needed any need a/d converters, serial cards, gps GNU Ada-mode for Emacs more. Thanks to Matthew Heaney for cards... the usual stuff. pointing that out to me. Please see the 21 new Homepage as well. [...] If you need the largest selection of device drivers then I would consider Linux (not From: Jérôme Haguet Audio Input Packages really an RTOS, if your requirements are soft RT you can probably get by with Date: Wed, 30 Jul 2003 09:44:37 +0200 From: Chad R. Meiners this), vxWorks (GNAT available, Subject: Re: Need help w/ ada-mode.el un- Rational Apex Ada available, Greenhills der Emacs 21. Date: Wed, 3 Sep 2003 12:04:42 -0400 multi available), RT Linux (GNAT for Newsgroups: comp.lang.ada Organization: Michigan State University this available Subject: Re: Audio Input Package http://rtportal.upv.es/apps/rtl-gnat/). As far as I know, the real last version of ada-*.el is at: http://savannah.gnu.org/cgi- Newsgroups: comp.lang.ada Also take a look at each of the offerings bin/viewcvs/emacs/emacs/lisp/progmodes > I'm looking for an Audio Input package from http://www.lynuxworks.com/ / of sorts - I need to open an audio file From: [email protected] (Colin For example, ada-mode 3.6 from (probably just WAV format will do) Paul Gloster) http://libre.act-europe.fr/adamode/ and look at it. I don't need to directly Date: 28 Oct 2003 18:45:26 GMT main.html does not seem to support access the sound card, nor play sound

Volume 24, Number 4, December 2003 Ada User Journal Ada-related Tools 209

back through the speakers (although I - a-Law wave files [...] I still have more research to do before guess that would be cool, but not - Plays Sun's *.au/*.snd file formats I'm sure how I will proceed with respect necessary). to the MIDI/audio bits. Anyway, I will - Standard PCM samples http://www.technology.niagarac.on.ca/cou get on with my Ada self-education, and rses/comp630/WavFileFormat.html - u-Law compression format play some with C bindings. > Anyone have any ideas where I could - a-Law compression format Having just these simple tools of MIDI and audio I/O could open up new possi- find such a thing? If not, then some- - Plays multiple files in sequence thing in C that could be linked [...] into bilities for Ada, and attract new users, Ada and used would do just as well. - Endian neutral (good for PowerPC) yes? [...] [...] - Ada95 sound packages can be used for If there are others who share an interest in AdaSDL has a thin and thick binding that applications creating MIDI/audio applications using allows you to play wave files. In Win- - Optional "realtime" priority for reliable Ada, and want to discuss or cooperate on dows you can easily call the appropriate operation IO libraries, or have any good pointers on API to play sounds. these subjects, please let me know! As - Tested on FreeBSD mentioned I have done /much/ searching, [See also "AdaSDL Binding to Multiplat- - Tested on Linux (RedHat 7.0, 2.2.16 so the most obvious hits for form Game Development Library" in AUJ kernel) Ada/sound/MIDI on AllTheWeb, Google 24.1 (Mar 2003), p.14. -- dc] and Dejanews are covered. - Netscape friendly From: Matthew Heaney Are Leistad Even though this software provides a Date: Thu, 04 Sep 2003 02:19:44 GMT "command", there are packages that can From: aleistad Subject: Re: Audio Input Package be used to do what you want to do. I had Date: Fri, 17 Oct 2003 02:29:04 +0200 Newsgroups: comp.lang.ada planned to do more with this, and maybe Subject: MIDI library for Ada will someday, but I have more urgent Newsgroups: comp.lang.ada I have a both WAV and AVI file parsers projects to do first (like writing com- I'm glad to report that I now have an Ada written in Ada95. They were used on the pressed formats). It will read compressed program that won the Ada-Belgium pro- program that plays a scale over MIDI (ref formats, but not generate compressed the thread: "Ada and MidiShare). gramming contest last year. formats. I can send you the sources. Send me your The immediate solution was right under email address and I'll do it tomorrow. MIDI and Ada my nose, in the form of Win32Ada's bindings to the Windows multimedia ser- (I plan on posting the entire sources on From: Dr. Justice vices (they are not mentioned in the my website, but they used an early ver- Win32Ada.hlp file). All I needed to do sion of the Charles container library, Date: Sun, 12 Oct 2003 05:24:15 +0200 was to instantiate some data types and call which has been volatile of late because of Subject: Ada and MidiShare a couple of functions. AI-302.) Newsgroups: comp.lang.ada If I'm not mistaken, there is no real de- [See also "Ada-Belgium Announces Ada I've decided that I want to try and use Ada pendency on Win32Ada as such, it only Programming Competition" in AUJ 22.4 for my next projects. I come from a provides thin bindings to the "libwinmm" (Dec 2001), p.195, and "Charles - Con- background of mostly assembly, C and library, and no Ada function are used. If tainer Library" earlier in this issue. -- dc] PL/SQL and wanting to move into a "new the supplied libwinmm.a is the same as in and better" language for general comput- general gcc distributions, all that needs to AdaVox 0.51 - Wave Sound ing I can not think of anything better than be done is to write a similar thin binding, File Player Ada. I'm convinced I'll have a nice ad- covering only MIDI (and possibly audio). venture - you can add two new users (a This is of course only the very basic byte- From: Warren W. Gay VE3WWG friend of mine as well) to the statistics by-byte I/O. The status so far is the MIDI is easily Date: Wed, 03 Sep 2003 13:10:02 -0400 For Ada to be really useful for me, I need windowing GUI, MIDI I/O, and ideally achievable, and I have the basics running Subject: Re: Audio Input Package fine on two different Win98 PC's . Newsgroups: comp.lang.ada audio I/O as well. My platform is Windows (can use Linux too) and GNAT To get reception going the use of a call- http://home.cogeco.ca/~ve3wwg/adavox- 3.15p, and I'd like to be able to build for back is required; that's next on my list of 0.51.tar.gz all of Windows, Linux and MacOS (with experiments (and my Ada education). a priority on Windows). For a description see: So - if there is interest, I'd propose that http://home.cogeco.ca/~ve3wwg/software. GtkAda should do the GUI part nicely. we co-develop a production quality stand- html and scroll down to "AdaVox Sound Very nice kit it seems (I have yet to try it alone MIDI library (and possibly audio Software" for the details. out in practice!). too). My own capabilities are limited, as [See also "AdaVox 0.5 - Wave Sound File After much searching and reading on the I'm just learning Ada, but I will contribute Player" in AUJ 22.3 (Sep 2001), pp.138- web I understand that MIDI and audio in any way I possibly can. Please, let's 140, and "C developer switches to Ada support is not readily available. It seems discuss! for Linux development" in AUJ 21.4 (Jan that Claw supports at least audio, but that From: Patrice Freydiere 2001), pp.246-248. -- dc] is only for Windows. The audio support Date: Sun, 26 Oct 2003 09:19:31 +0100 AdaVox Features: I'd want is very simple, just buffered Subject: Re: MIDI library for Ada streams to/from the audio inputs/outputs - Plays a wide range of *.wav files: Newsgroups: comp.lang.ada for realtime recording and playback. Per- [...] I started implementing a full Ada - Standard PCM wave files formance is not critical initially. I will MIDI library. Now, this library is able to continue my search for possible C librar- - Microsoft ADPCM compression format read MIDI files, get all chunks and parse ies, but I'm pretty blank in this area MIDI events. You can plug your custom - IMA/DVI ADPCM compression format (sound/MIDI on Win/Mac/Linux). - u-Law wave files

Ada User Journal Volume 24, Number 4, December 2003 210 Ada-related Products parsing procedure to do what you want. It looking through bot code resources but I Ada Source Code Reformat- is also able to write MIDI files. find surprisingly few things (or I'm ters The packages are not actually able to bind searching really bad). I have located a few to a physical MIDI, or an OS Midi inter- in Pascal, Basic and Prolog, but that's all. From: Laurent Pautet face, but it must not be very difficult. The next best thing would be a C imple- Date: Thu, 23 Oct 2003 12:36:44 +0200 If you are interested, just email me I'll mentation which I suppose would be easy Subject: Re: Outil de reformatage des send you the sources. to bind, and finally an implementation in sources any language that an average programmer cc: [email protected] Auto_Text_IO & SAL could understand (in that case, simplicity [Extracts translated from French: -- dc] would be a plus, I'd not like to translate a > I am interested in such a tool to refor- From: Stephen Leake program with a lot of [obscure] lines). mat existing Ada code. From: Rod Haper Date: 08 Sep 2003 10:09:26 -0400 gnatpp (GNAT Pretty Printer) Organization: NASA Goddard Space Flight Date: Mon, 15 Sep 2003 19:08:33 GMT From: Pascal Center (skates.gsfc.nasa.gov) Organization: Road Runner - Texas Subject: new versions of SAL, Auto_Text_IO Subject: Re: Eliza implementation in Ada To: [email protected] Newsgroups: comp.lang.ada Newsgroups: comp.lang.ada Subject: Re: Outil de reformatage des I've released new versions of SAL (1.50) The BUSH shell scripting language (GPL sources and Auto_Text_IO (3.00). These have license) contains an Eliza script in the ex- Date: Mon, 27 Oct 2003 22:46:40 +0100 been tested with GNAT 3.15p, GNAT amples directory. Since BUSH is based There's also the "reformat" tool. 3.16a1, and GNAT 5.01a. on AdaScript (a subset of Ada 95) you should find it fairly ease to port to Ada See: Available at http://wuarchive.wustl.edu/languages/ada/ http://www.toadmail.com/~ada_wizard/ 95. Here's a link to the BUSH home page: swtools/reformat, or for the Mac: [See also same topic in AUJ 23.4 (Dec http://www.vaxxine.com/pegasoft/bush.ht http://www.adapower.net/macos/tools.ht 2002), p.201. -- dc] ml ml#Anchor_Reformat SAL provides a container library, a [See also "PegaSoft - BUSH AdaScript Pascal Pignard, robotics/satellite math library, and mis- Business Shell" in AUJ 24.2 (Jun 2003), http://perso.wanadoo.fr/blady cellaneous other stuff. p.85. -- dc] Auto_Text_IO generates Text_IO chil- dren for most Ada packages. Ada and Cryptography Ada-related Products This is a significant enhancement of From: Freejack ARTiSAN - Goodrich En- Auto_Text_IO. The run-time packages Date: Wed, 01 Oct 2003 21:54:26 GMT are now in SAL (replacing the old gine Control Systems Stan- Newsgroups: comp.lang.ada dardizes on ARTiSAN's SAL.Generic_Array_Text_IO), and all of Subject: Glade and Cryptlib. the child Text_IO packages in SAL are Real-time Studio generated by Auto_Text_IO, so they now Has anyone attempted to integrate a all provide Get. crypto package such as cryptlib URL: http://www.dedicated-systems.com/ http://www.cs.auckland.ac.nz/~pgut001/cr VPR/layout/display/pr.asp?PRID=6368 Auto_Text_IO now supports generic yptlib/ into the Glade Partition Control packages, variant records, and allows us- System? Summary: Goodrich Engine Control ers to override the core Put and Get to do Systems in Birmingham, UK, Selects special output formatting or input valida- This seems like it would be a useful pro- ARTiSAN's Real-time Studio Profes- tion. ject. I'm aware of the various Ada crypto sional for Mission Critical Software De- efforts [see also same topic in AUJ 23.3 velopment Also, the inside of Auto_Text_IO has (Sep 2002), pp.139-140. -- dc], but I don't been cleaned up significantly. know of any that have attempted to take Full Text: In SAL, I've also added new packages for this sort of approach. Cheltenham, UK September 23, 2003. Gaussian distributions, standard devia- The reason I ask is because I've been ARTiSAN Software Tools, a global tion, and made a few other minor playing with cryptlib for a while now and leader for UML-based, real-time systems changes. would like to take a shot at doing a dis- and software modeling tools, today an- Note that there is a bug in GNAT 3.15p tributed app which handles encryption nounced that Goodrich Engine Control that causes 'gnatmake all_sal' to fail when and such transparently, using Glade. Systems' Birmingham UK facility has se- optimization is turned on. You can still Cryptlib is pretty self-contained and port- lected ARTiSAN's Real-time Studio Pro- use SAL with GNAT 3.15p with optimi- able, so it seems like a good place to start. fessional as its standard tool for software zation; just build the pieces you need, by development on mission critical, UML- (I'm referring to the Gnat-glade DSA based projects. Goodrich is one of the including the SAL project file in your package, not the GUI builder.) project file. And hope GNAT 3.16p world's leading aerospace engine control comes out soon. From: Pascal Obry systems suppliers. Date: 02 Oct 2003 19:48:02 +0200 "We have been using Real-time Studio for Eliza in Ada Subject: Re: Glade and Cryptlib. roughly two years," commented Jim Daly, Newsgroups: comp.lang.ada System Architect at Goodrich. "The tool From: Jano <[email protected]> See has proven to be very stable, versatile, Date: Mon, 15 Sep 2003 20:29:26 +0200 http://lglwww.epfl.ch/ada/filters/index.html. quick to learn, and is a popular choice Subject: Eliza implementation in Ada This is old but could be a good starting with our engineers. We evaluated other Newsgroups: comp.lang.ada point. tools but Real-time Studio differentiated In another spin of my Ada whereabouts, itself with its extremely intuitive and I'm now interested in finding an Ada open customizable user interface. It is very source implementation of the classic Eliza flexible supporting four variants of Ada, it chatterbot (or improved versions). I'm can be integrated with tools from other

Ada User Journal Volume 24, Number 4, December 2003 Ada-related Products 211 vendors and also has a degree of built-in DDC-I Offers Current TADS-68xxx (Safety Critical, Real-time Embedded) configuration management. ARTiSAN's Customers A Budget-Conscious Windows Integrated Development Environment. consulting services quickly brought us up Migration Package The primary purpose of Windows native to speed with Real-time Studio and UML Phoenix, AZ. August 15, 2003. Stream- capability for SCORE is to support the and helped us to achieve success on our lining the transition from VAX or Unix- same functions as our cross products, and projects much faster than would have hosted development systems for their ex- it is especially useful for engineers who been possible on our own." isting TADS user base, DDC-I today an- need to start software development and "Real-time Studio's user interface has nounced the availability of their Windows testing before their custom hardware is evolved to the point where a newcomer to (NT/2000/XP) migration package, now available, explains David Mosley, DDC-I the tool can quickly come up to speed, also available for TADS-68xxx custom- Engineering Manager and Product Cham- and an expert user can focus on actual ers. Fully customizable, it offers current pion for SCORE. work rather than workarounds," com- TADS (68xxx, 1750A & i960) customers The first multi-language IDE based on mented Jeremy Goulding, President and a direct, affordable migration path to the non-proprietary open system standards, CEO of ARTiSAN Software. "Out of the most popular PC-based network and en- SCORE is a Commercial-Off-The-Shelf box, whether users are working with C, terprise computing platform. product delivering ease-of-use at every C++, Java or Ada, the tool is very in- "Allowing customers to define which project level while guaranteeing maxi- stinctive quite simply, it works the way tools and support they require, rather than mum software portability and reusability. you do. Its open architecture makes it handing them a rigid list of tiered options, Using the same graphic interface as all of even more intuitive, allowing users to is why we created a flexible TADS for customize the tool to suit specific needs. DDC-I's Windows-hosted cross-compila- Windows migration package," explains tion products, SCORE's Windows Native Real-time Studio is one of the last re- Harold "Bud" Blum, DDC-I Senior Soft- maining design tools to truly support the capability offers proven quality while also ware Engineer and Product Champion for saving significant time and money during Ada community not simply from a mar- the TADS product line. keting perspective, but from a practical, the transition to new processor technolo- engineering one, and in a UML design Customers dictate their package parame- gies. Leaving embedded system develop- process too. Our customers working on ters to create a least-cost migration path ers free to mix application development mission and safety critical applications, with DDC-I's expert guidance. To keep among different programming languages such as Goodrich, expect and deserve recurring costs level, software support including C, Embedded C++ and Ada, the nothing less." from any current license agreement car- toolset includes a highly reliable com- ries over, and the customer has complete piler, a seamlessly integrated multi-lan- About ARTiSAN Software Tools: [see freedom to select the quantity of seats to guage debugger and two small, excep- announcement in AUJ 24.3 (Sep 2003), rehost and whether to upgrade their soft- tionally fast run-time systems (tasking & p.147, or visit www.artisansw.com. -- dc] ware versions during the migration. All non-tasking). About Goodrich Engine Control Systems necessary license transfers and keys to The key components in SCORE are DDC- Goodrich is the world's leading independ- replace current TADS licenses are in- I's next generation compilers. Based on ent engine control supplier. Among the cluded. ANDF (Architecture Neutral Distribution few truly global corporations in the aero- Two days of onsite consulting are also Format) technology, compilers for each space equipment sector, no one has more included in the package at no additional programming language generate a com- jet-age experience, a better understanding charge to assist with rescripting, tool mon intermediate representation which is of leading technologies and broader sys- adaption, memory and segment set up, converted to the final object code during a tems capabilities to optimize the overall related Ethernet work, board support later language-independent phase. control system. It has a wide range of ap- packages and a final project report with SCORE supports multiple languages, host plications for civil engines, large and detailed recommendations. environments and target platforms. Since small, helicopters and all forms of mili- "Our customers safety-critical software ANDF is an Xopen standard, the SCORE tary aircraft including trainers, transport- development tools have to keep pace with system possesses a truly open architec- ers, and fighters. the latest development environments, and ture. Goodrich is committed to building lighter, upgrading the TADS products to the Developers today increasingly need to smarter systems that last longer, and has Windows platform gives them the ability migrate software to new targets, and we extensive experience in developing high to handle such taxing upgrades with are constantly expanding the SCORE IDE reliability electronic engine controls with minimal disruption to the development to eliminate barriers to efficient multi- safety critical software. For more infor- environment they depend on," concludes language development and address the mation, visit Blum. growing need to combine reusable soft- www.enginecontrols.goodrich.com ware components, written in different Contact: ARTiSAN Software Tools Inc., DDC-I - Multi-Language languages, targeting different processors Richard Gastwirt, SCORE IDE Offers and often developed on different plat- [email protected] Windows Native Capability forms, concludes Mosley. DDC-I - Windows Migration URL: DDC-I - New Pricing Option Package for TADS-68xxx http://www.ddci.com/news_vol4num7.shtml for SCORE IDE Subject: Embedded News from DDC-I - Customers DDC-I Online News URL: http://www.ddci.com/news_vol4num8.shtml URL: October 2003 [...] DDC-I Online News Subject: Embedded News from DDC-I - http://www.ddci.com/news_vol4num6.shtml [...] Vol. 4 Issue 7 [...] DDC-I Online News Subject: Embedded News from DDC-I - DDC-I's Multi-Language SCORE IDE DDC-I Online News November 2003 [...] DDC-I Online News Offers Windows Native Capability [...] Vol. 4 Issue 8 [...] August/September 2003 [...] DDC-I Phoenix, AZ -- October 1, 2003 -- DDC-I Online News [...] Vol. 4 Issue 6 [...] DDC-I's Multi-Language SCORE IDE today announced the addition of Windows Offers Flexible Subscription Pricing Roy- Native capability to the versatile SCORE alty Free!

Ada User Journal Volume 24, Number 4, December 2003 212 Ada-related Products

Phoenix, AZ. October 21, 2003 - Veteran Green Hills - Barco Selects Editorial contact information: Christopher software tools supplier DDC-I today an- Smith, Vice President of Marketing, nounced a subscription pricing option for INTEGRITY-178B RTOS Green Hills Software, Inc., the versatile SCORE (Safety Critical, for MOSArt [email protected]. Sales enquiries to: Object-oriented, Real-time Embedded) Green Hills Software Ltd, mktg- Integrated Development Environment as a URL: http://www.dedicated-systems.com/ [email protected], www.ghs.com cost-sensitive alternative to traditional VPR/layout/display/pr.asp?PRID=6296 licensing models. Allowing the customer Release Date: Monday, September 15, 2003 Praxis Critical Systems - to subscribe to only the number of pro- Barco Selects INTEGRITY-178B RTOS New SPARK & gram seats actually required during each for its MOSArt Modular Open System single year period, from one to whatever Architecture RavenSPARK Definitions needed, DDC-I's subscription model is Available Green Hills Software's INTEGRITY- highly competitive, and even includes 178B real-time (RTOS) DDC-I's "Atlas Advantage" support pack- From: [email protected] (Rod has been selected by Barco, a leading age. Chapman) provider of high performance imaging Date: 7 Oct 2003 10:46:04 -0700 "With a clear understanding of increas- technologies, for its new MOSArt avion- Subject: ANN: New SPARK (including ingly challenging budget structures con- ics open system. RavenSPARK) definition now available fronting many project programmers and Barco's MOSArt is an ARINC 653 com- Newsgroups: the long-term importance of minimizing pliant Modular Open System Architecture comp.lang.ada,comp.lang.eiffel,comp.re maintenance costs, subscription pricing for real time avionics applications. MO- altime for SCORE offers customers the simplest, SArt's open, modular approach leads to a most sensible means to align program- Praxis Critical Systems are pleased to an- reduced weight and power consumption, ming and project expenses," explains nounce the new definition of the SPARK improved MTBF as well as allowing DDC-I President Ole Oest. language (including RavenSPARK) is every partition to have a different critical- now available for public comment. Providing industry-leading programming ity level (up to DO178B level A). products and support services to a distin- RavenSPARK adds the tasking facilities The MOSArt architecture allows system guished list of commercial and defence of the Ada95 Ravenscar Profile to the integrators to easily develop and/or inte- contractors including Boeing, Lockheed- core SPARK language - probably the grate their own software on Barco's pow- Martin, and Sikorsky, DDC-I also sup- most significant expansion in the expres- erful open hardware platform. By doing ports diverse development beyond avia- sive power and size of SPARK ever this, customers can preserve the intellec- tion and aerospace, from commercial sat- made. tual property of their core technology ellite and telecommunication systems to (FMS, mission computer, etc). [See also "Praxis Critical Systems - next-generation voice and data network SPARK Incorporates Ravenscar Features" technology, bullet trains and medical "We chose INTEGRITY-178B from in AUJ 24.1 (Mar 2003), p.22. -- dc] equipment. Green Hills as our first choice of RTOS for MOSArt because we strongly believe In addition to the language definition, the Subscription pricing reduces up-front that this is the best product on the market following documents are also available: costs, allowing the customer to increase for building ARINC 653 based modular An idiom guide and rationale for or decrease the number of subscribed open system architecture avionics sub- RavenSPARK (read this first!); A worked seats to match the dynamics of a pro- systems," said Jean-Christophe Monfret, design exercise using RavenSPARK; A gram's staffing profile. In the maintenance R&D Manager Software, BarcoView - Quick Reference Chart for RavenSPARK. phase of the program's life cycle the sub- Avionics. scription could go as low as one seat. These documents are all available for INTEGRITY-178B is an ARINC-653 download in PDF format from With subscription pricing no cash is tied compliant, hard real-time RTOS opti- www.sparkada.com up in a capital purchase, and while the mised for safety-critical and mission-criti- annual subscription fee is very competi- We welcome comments regarding cal applications that require the utmost tive, the customer still retains the benefits SPARK from all interested parties – security and fast, predictable response. of DDC-I's acclaimed support program. In please contact us at sparkinfo@praxis- Utilising hardware memory protection addition, SCORE remains royalty free (no cs.co.uk and an advanced two-level partition fee is associated with distribution of the Announcements regarding professional scheduler, INTEGRITY-178B provides customer's application), an additional tool support for RavenSPARK, and up- complete time, space, and resource parti- feature aimed directly at the customer's grades for buyes of the "SPARK Book" tioning between applications operating on bottom line. will be made shortly. the same hardware platform. "The creativity, engineering support, and INTEGRITY-178B also provides guar- Rod Chapman, SPARK Team, Praxis customer service that help our customers anteed resource availability in both the Critical Systems succeed are what we continue to offer time and space domains. This combina- every developer in the real-time embed- tion facilitates "robust partitioning" (as Praxis Critical Systems - ded systems market," Oest concludes. defined in ARINC 653), enabling appli- SPARK Toolset 7.0 "Whether it's aerospace, satcom and tele- cations that have been assigned different com, networking infrastructure - or any DO-178B safety levels to run concur- From: [email protected] (Rod safety-critical application where system rently on the same processor. Chapman) downtime is simply not an alternative - INTEGRITY-178B includes an RTOS Date: 17 Oct 2003 05:53:31 -0700 we have the tools and pricing programs to simulator (ISIM) that enables program- Subject: ANN: SPARK Toolset release 7.0 help our clients excel." mers to develop and test their code on a Newsgroups: comp.lang.ada PC or workstation without the need for We're pleased to announce the immediate target hardware. INTEGRITY-178B also availability of Release 7.0 of the SPARK features a real-time event analyzer Toolset. Most importantly, release 7.0 (EventAnalyzer(TM)) that enables view- supports the RavenSPARK tasking exten- ing of system and user events in a graphi- sions to SPARK. cal display.

Volume 24, Number 4, December 2003 Ada User Journal Ada-related Products 213

The toolset release note and a press re- GNAT sources. This version also allows distribution--a README.RedHat9 file in lease are available at www.sparkada.com you to write your own scripts and run the distribution covers this). Because as usual. them on the set of given sources. To find DTraq utilizes ASIS-for-GNAT, which is Supported customers, academic users and out how to do this, please open: re- tightly bound to a corresponding compiler tool partners should have all received adme.txt. Note that under Windows version (in this case 3.15p), DTraq has their upgrade packages by now. An up- 2000, you need to have the Administrator currently been validated only against grade package for buyers of John Barnes' rights on your machine, in order to install GNAT 3.15p. SPARK Book will be available soon. this demo/evaluation version. For more information or questions, please Rod Chapman, SPARK Team, Praxis checkerAda.zip: about 70 Ada coding contact [email protected]. Critical Systems rules can be checked on a given set of 20 Marc A. Criley, Mckae Technologies Ada sources, in a graphical interface. To Praxis Critical Systems - run it, you will need to have Java 1.3 or From: Guillaume Foliard higher installed on your machine. Unzip SPARK Book Upgrade the file, and double click on run.bat to Date: Tue, 02 Sep 2003 22:54:22 +0200 Packages Available start the program. Please open the Subject: Re: Announce: DTraq First Public readme.txt file for more information. Release From: [email protected] (Rod Newsgroups: comp.lang.ada Don't hesitate to contact me for any fur- Chapman) ther information you might need. > I've never used nor seen such a tool. Date: 17 Oct 2003 11:01:37 -0700 Can you provide more information Subject: ANN: SPARK Book Upgrade pack- [See also "RainCode - Evaluation Version about what it can be used for? How can ages now available of RainCode for Ada Available" in AUJ it help debugging? Newsgroups: comp.lang.ada 23.3 (Sep 2002), p.146. -- dc] I'm using such a tool at work, which has I'm pleased to say that upgrade packages McKae Technologies - First been developed in-house. It allows you to for the "SPARK Book" are now available record during execution data messages from www.sparkada.com for both Public Release of DTraq (effective parameters, data going through Windows and GNU/Linux. Data Logging and Playback a network connection, etc...) and to ana- These bring the "Free Demo" SPARK Debugging Tool lyse them afterwards. toolset up to release 7.0, and also include The important part there is not to record a complete new set of documentation de- From: Marc A. Criley the data but to interpret it without having scribing the latest release of SPARK, the Date: Mon, 01 Sep 2003 21:57:53 GMT to type million lines of Put procedures by RavenSPARK language extensions, and Subject: Announce: DTraq First Public Re- hand. This is a two step process. First you all the new tools. lease need an Ada parser to analyse the data Newsgroups: comp.lang.ada Two RavenSPARK example programs are structure of what you want to record and included (a Stopwatch controller, and the McKae Technologies announces the first to generate all the Ada code needed to ubiquitous Minepump controller...) public release of DTraq, version 0.960. access and display those structures. Then this code will be used in other applica- These packages are large (over 5 Mega- DTraq is a data logging and playback de- tions for displaying, plotting, etc... bytes each), so please be patient if our bugging tool providing near realtime data server seems temporarily overloaded. logging and analysis to aid debugging and From my own experience with such a validation. Captured, or 'tapped' data from tool, and with the help of a good software SPARK Team, Praxis Critical Systems a program can be viewed live while the design, more than 90 percent of the de- program is running or, since it is being fects are resolved by just reading the in- RainCode - Evaluation Ver- logged to a file, played back or printed puts and the outputs and the involved sion of RainCode Checker out later for off-line review and analysis. code, without any debugger. This is in- deed possible because of the natural From: Deborah Torrekens DTraq differs from other logging and playback tools in that no data layout maps safety of Ada. When bugs occur we can generally safely ignore all the low-level Date: Mon, 11 Aug 2003 13:10:06 +0200 or byte interpretations or "data dumpers" need to be manually created. Nor is the bugs C programmers are familiar with to Subject: Announcement: coding rules focus on the functional stuff. checking application responsible for converting the Newsgroups: comp.lang.ada raw binary data to text form before log- From: Jeffrey Creem ging it. DTraq handles all conversion RainCode just published an evaluation automatically by scanning the applica- Date: Wed, 03 Sep 2003 00:00:48 GMT version of the RainCode Checker, which tion's source code, identifying tapped data Subject: Re: Announce: DTraq First Public checks about 70 Ada coding rules on a set items, and extracting the information it Release of 20 Ada sources. These are standard needs to properly convert and display the Newsgroups: comp.lang.ada rules, but we can implement company- logged items-simple scalar items as well specific rules in the tool as well. I have not looked at the details about what as arrays and records. When the layout of this tool provides but at a high level I can To download it, please go to data items change, rescanning automati- say that this could be really useful for http://www.raincode.com/online, and sign cally picks up the changes. "system level" debugging/analysis infor- on. The DTraq binary distribution, compre- mation. Once you've logged on, please select hensive documentation, and source code What I mean is that in many systems, one "RainCode product line" on the home is available for download at ends up creating some sort of data logging page, then click on "Downloads" in the http://www.mckae.com/dtraq.html. interface that keeps track of either inputs menu. Choose: "RainCode Engine for DTraq is currently available for Linux to some top level module and/or interme- Ada demo version." There, you will have systems running GNAT 3.15p. diate calculations to better understand 2 files that you can download: DTraq operation has been verified on both how the system is operating. adarcdemo.zip: is a demo and evaluation RedHat 8.0 and RedHat 9.0 Linux distri- Sounds like this would be a quick way to version of the RainCode Engine for Ada. butions (albeit the user needs to set an en- get this information out more easily. It The demo dynamically shows you a few vironment variable when using the latter probably will not be as quick as some of RainCode scripts applied on a set of

Ada User Journal Volume 24, Number 4, December 2003 214 Ada-related Products the hand/rolled solutions (which dump means added I/O or network traffic, plus components it may have) to understand data in a raw binary format for later off- the text conversion impacts application how to convert instances of the data type line expansion to ASCII) but still useful performance. into corresponding text, whether that item in some cases. The problem with the second approach is is a number, a character, string, enumera- [From: Marc A. Criley that the raw bytes still have to be con- tion, record, or array. -- dc] verted to text at some point. So there are This is all automatically done by running Pretty close. a couple typical ways of doing that: de- the "mkdtq" component of DTraq over fining layout templates that are overlayed your code base--you NEVER have to DTraq does log data in binary form, on the data to break them up and that de- manually convert, or describe how to though, so you get the performance bene- scribe how to interpret each piece -- sca- convert, raw data to text. When a data fits of doing that. And it also does both lar, record component, array element, item changes or a new one is added, an- near simultaneous conversion to text for string, integer, float, character, etc. An- other invocation of mkdtq automatically live monitoring, and post-run conversion other is to create a "data dumper" that picks up the changes. for playback, printing, and analysis. (The programmatically converts a data stream Makes things _much_ less tedious logging and text conversion is performed into text, which is then invoked by the by a logging server, which can run on a logging system's "viewer". And of course Hope this helps, there's detailed info in totally different machine so as to mini- whenever a data item's format changes, the DTraq user manual, and a fully mally interfere with the system under test. the corresponding template or dumper working example accompanies the distri- Data is transferred from app to server via needs to be updated, and when there's a bution and is gone over step by step in the TCP/IP.) need to log a new type of data, a new manual. template/dumper has to be created. [From: Jeffrey Creem McKae Technologies - -- dc] For the basic logging part, DTraq is like Cool.. It makes it even more exciting than most other loggers – you identify the data DTraq 0.970 Available item you want to log, instantiate a generic I had originally thought. (And I was al- From: Marc A. Criley ready pretty excited about it!) procedure with the type of that data item, and then add invocations of that instantia- Date: Tue, 21 Oct 2003 00:28:22 GMT From: Marc A. Criley tion wherever you want to "tap" the value Subject: Announce: DTraq 0.970 now avail- Date: Wed, 03 Sep 2003 00:50:52 GMT of that item. able Subject: Re: Announce: DTraq First Public Newsgroups: comp.lang.ada Something like: Release DTraq 0.970 has been released and is now Newsgroups: comp.lang.ada type Color_Type is available on the Mckae Technologies > I've never used nor seen such a tool. (Red, Green, Blue); website (www.mckae.com). In addition, Can you provide more information Current_Color : Color_Type := the site's DTraq section [...] has been up- about what it can be used for? How can Red; dated with a walkthrough of DTraq capa- it help debugging? procedure Tap_Color is bilities and screenshots illustrating its op- new DTraq.Tap (Color_Type, Many projects of any significant size have eration. 121, some sort of "logger", a package or class Modifications for DTraq 0.970 were "Color_Type"); or file of logging functions. As the pro- mostly internal, fixing minor bugs and -- Tap's parameters are the type gram runs, information that the developer reducing system-dependencies so as to -- to tap, a numeric ID you pick has decided would be useful to record for ease porting to other platforms. -- to associate with it, and an subsequent analysis or monitoring is -- optional string that will be The one visible change is that the Data logged. (Actually, specific logging re- -- later conveyed to the viewer. Viewer can now display the raw memory quirements may also be placed on an ap- Then wherever you want to record the content of logged data items, rather than plication by its customer, especially for current value insert: just the interpreted forms. See the screen- military systems.) shots and the DTraq User Manual, Tap_Color(Current_Color); So such loggers basically record to one or (www.mckae.com/dtq_common/DTraq.p more log files the information that is At this point the current value of df) for more information. Current_Color goes out to the log file. submitted to the logging service while the Marc A. Criley, McKae Technologies, app runs, along with a timestamp and per- Now what you can do with DTraq is "The Efficient Production of Reliable haps other useful information. monitor your taps live while the program Software" There are two general approaches re- is running, and verify that they're taking garding the form of the logged data: One on the values you expected as the pro- Excel Software - WinA&D is that the application preconverts the data gram is put through its paces. Design Tool Adds Ada Mod- to text and then logs that text, so the ap- After you've done your run, you can then eling and Code Generation plication has the responsibility of properly reload a log file into Dtraq and have it interpreting and formatting the data that is play it back for you, single or multiple From: Excel Software then logged. step through the logged data, forward or Date: Mon, 22 Sep 03 18:28:17 -0600 The second approach is to more-or-less backward, reviewing how the key values Subject: WinA&D 3.5 Adds Ada Modeling provide an address and a number of bytes changed as the program executed. And of and Code Generation to the logger, and the logger then writes course you can print out all or portions of To: those raw bytes to the log file. This ad- the logged data. Design Tool for Modeling Software and dress/size combination can sometimes be The key area where DTraq differs from Managing Requirements dressed up as somehow simply specifying other loggers is in the conversion from the object to log, or utilizing a suitably raw bytes to text. DTraq scans your Ada Placitas, NM - September 22, 2003 - instantiated generic (which is what DTraq source code, and with the aid of the Ada Excel Software began shipping a major does). Semantic Information Specification upgrade of WinA&D with advanced ca- pabilities for modeling and generating The problem with the first approach is (ASIS) automatically locates the "Tap" that text representations usually take up invocations, identifies each type being more bytes than the raw data, which tapped, and analyzes it (including any

Volume 24, Number 4, December 2003 Ada User Journal Ada and CORBA 215

Ada code. WinA&D is a comprehensive Excel Software - like programming language and code software engineering tool for structured folder locations and then generates and analysis and design, OOA/OOD with WinTranslator Adds Ada to executes a script of commands to reengi- UML, multi-task design, data modeling, UML Reengineering neer the project. WinTranslator outputs a requirements management, code genera- dictionary entry list to a text file that's im- tion for popular programming languages From: Tools ported into WinA&D to populate its dic- and a built-in scriptable reporting engine. Date: Sun, 28 Sep 2003 12:51:09 -0600 tionary. WinA&D's new Class Model Subject: Generate UML Models from Ada Ada is a programming language used From Ada command lets a developer se- Code lect a collection of classes (Ada packages) primarily on mission critical defence Newsgroups: comp.lang.ada projects. Working closely with a large from the dictionary, then generates a rich defence contractor, Excel Software has WinTranslator 2.2 Adds Ada Reengi- UML class model. mapped a streamlined UML notation to neering. WinTranslator is priced at $495 for a Sin- the Ada programming language. When Generate UML Class Models from Ada gle User License and runs on Windows 95 Ada is selected in WinA&D 3.5, tailored Source Code. through XP. Contact Excel Software for UML class models allow the designer to site license and upgrade prices or visit Placitas, NM - September 29, 2003 - easily represent Ada packages and various www.excelsoftware.com for information Excel Software began shipping a major types of relationships like aggregation and online ordering. upgrade of WinTranslator that adds the (parent/child and parent/nested packages), capability of scanning Ada source code Excel Software, [email protected] generalization (generic instantiation) and and generating graphic UML class models dependency (Withed packages). in WinA&D. The UML modeling experience has been WinTranslator is a reengineering tool that Ada and CORBA tailored to fit the conventions, standards works with Excel Software's WinA&D, and practices used by Ada developers. QuickUML and QuickCRC modeling Status of the CORBA For example, dialogs with drop-down tools. Object-oriented software written in Mapping for Ada pick lists make it easy to create records, C++, Java, Delphi or Ada creates UML arrays and other data types, share data class models using WinA&D or From: Laurent Pautet types between packages and construct QuickUML. CRC cards are created with Date: Mon, 20 Oct 2003 16:57:34 UTC subprogram arguments with minimal QuickCRC. Code written in C, Pascal, Organization: ENST, France typing. Visual relationships between procedural Basic or Fortran generates Subject: Is CORBA dead for Ada classes (Ada packages) in the UML model structure charts in WinA&D. Rich data Newsgroups: comp.lang.ada determine the code structure. models are generated from SQL for It seems to me that the CORBA mapping The scope of package components like popular RDBMS products. Generated for Ada is almost dead. The last official types, variables, constants and subpro- models can be automatically organized document is formal/01-10-42 for CORBA grams are visually represented on the into multiple diagram levels to easily ac- 2.3. The ada-rtf team does not seem to be UML class model and automatically commodate very large software systems. very active in its job to update the map- transferred to the Ada implementation Diagram objects click to source code us- ping (the last closed issues are from during code generation. ing an integrated code browser. 1999). WinA&D runs verification checks to en- Ada is a programming language used OIS which seems to lead this task force is sure model consistency, completeness and primarily on mission critical defence very shy in its promotion of Ada on its design integrity prior to code generation. projects. Working closely with a large web site. Ada code generated from the model is an defence contractor, Excel Software has exact implementation of the design in- mapped a streamlined UML notation to TopGraph'X is still promoting its Ada cluding full package specifications and the Ada programming language. products. If ORB-River is compatible body files, subprogram files with argu- WinA&D implements UML modeling with CORBA 2.6, it seems that it does not ments, data types and stubbed implemen- that is tailored for Ada with automated include new features from versions tations. Ada's With dependencies between code generation. greater than 2.3. files are also included in the generated WinTranslator captures information about Does anyone have fresh news on the code. The code is linked directly to the each Ada package, relationships between OMG activities around the Ada mapping? design, enabling the developer to click on packages and package components like [And from another message: -- dc] the class model and view the code in the records, arrays and other type definitions, integrated code browser. > [...] I wouldn't be surprised if the Ada variables, constants, named numbers, ex- team are waiting for an indication of For non-Ada developers, WinA&D 3.5 ceptions and subprograms. Details cap- how the mutual type reference problem adds new features including a data types tured for subprograms include return data is going to be solved in the new revi- dialog, a synchronized contents view for types and argument lists. Generic pack- sion of Ada before undertaking any diagram organization and navigation, new age parameters and actual parameters of major review of the Ada binding. diagram presentation options, enhance- generic instantiations are also captured. ments for listing diagrams and associated The public, private and implementation This would mean that it is not possible to dictionary information between projects scope of each package component is ex- use CORBA > 2.3 until Ada0Y is com- and new reengineering features. pressed on the generated UML class mod- plete. I do not believe that. WinA&D runs on Windows 95, 98, NT, els. The last CORBA revision is CORBA 3.0. 2000 or XP. It is available in four Single The typical code reengineering process The last Ada mapping is for CORBA 2.3. User License editions; Standard $495, involves creating a list of code files, ex- In between, many important features have Desktop $1295, Educational $845 and tracting dictionary information to a text been introduced in CORBA and many Developer $1995, or by 5-User and file, importing that information into a issues have been raised in the (old) map- Unlimited User Site License. Contact modeling tool and generating graphic dia- ping (mostly by O. Kellogg). But the Ada Excel Software or visit grams that represent the source code. mapping revision seems to be frozen for www.excelsoftware.com for product in- WinTranslator fully automates that proc- years. My belief is that there is no real formation and online ordering. ess with a multi-step dialog that guides CORBA market for Ada so the major tool Excel Software, [email protected] the developer to enter project information

Ada User Journal Volume 24, Number 4, December 2003 216 Ada and CORBA vendors focus on other markets like the tool vendors focus on other markets *** Intl. Conference on Reliable Software Java and C++ ones. like the Java and C++ ones. Technologies - Ada-Europe'2004 From: Jean-Claude Mahieux I hope some Ada (compiler, Orb) vendors *** June 14-18, 2004, Palma de Mallorca, are clever enough to see the impact of Spain ** www.ada-europe.org *** Date: Tue, 21 Oct 2003 18:41:17 +0200 middleware technologies for the future From: [email protected] Organization: Top Graph'X Ada market. For the most companies us- Date: Thu, 23 Oct 2003 16:06:18 +0200 Subject: Re: Is CORBA dead for Ada ing Ada now it is really important to Subject: Re: Is CORBA dead for Ada? No, Newsgroups: comp.lang.ada get/keep their systems accessible from it doesn't appear to be. > TopGraph'X is still promoting its Ada other SW systems created with mod- Newsgroups: comp.lang.ada ern/mainstream technologies. [...] products. If ORB-River is compatible Thank you. As I understand it, the job is with CORBA 2.6, it seems that it does We have a quite large Ada system run- ongoing. This is reassuring. not include new features from versions ning here [...] We are starting to evaluate greater than 2.3. one Ada ORB right now. From: Laurent Pautet Date: Tue, 21 Oct 2003 09:15:48 UTC Laurent, I entirely disagree with that (see [And from a later message: -- dc] Subject: CORBA mapping for Ada our web site). > You may want to check out libre.act- Newsgroups: comp.object.corba OrbRiver/Ada supports: Interoperable europe.fr/polyorb/ It seems to me that the last Ada mapping Naming Service, Corbaloc/Corbaname Already done, but I had problems with is for CORBA 2.3. But nothing seems to URLs, CORBA Messaging, RT CORBA, connecting Java clients (SUN JDK be done to update it for CORBA 2.X (X > MIOP (with a reliable implementation to 1.4.2/SUN ORB) to Ada servers. As long 3) or CORBA 3.0. Could someone tell me come soon), Notification Service (entirely as PolyOrb is not a >visible<< supported what is going on? Is the ada-rtf still ac- implemented in Ada95). product of ACT, it is not interesting for us tive? OrbRiver/C++ is approximately at the ... From: [email protected] (Gary D. Duzan) same level and OrbRiver/Java a little bit From: [email protected] Date: Tue, 21 Oct 2003 16:35:28 GMT behind. Date: Thu, 23 Oct 2003 10:50:43 +0200 Subject: Re: CORBA mapping for Ada [See also "Top Graph'X - PrismTech Subject: Re: Is CORBA dead for Ada Newsgroups: comp.object.corba Adds CORBA Ada Support to its Newsgroups: comp.lang.ada The OMG site shows a document number OpenFusion Product Line" in AUJ 24.3 > [...] Believe me, if there is no visible for a revised Ada mapping with this (Sep 2003), p.150. -- dc] progress with the CORBA standard the month's date on it, but no actual document Jean-Claude Mahieux, Top Graph'X Sales things will getting harder for some of yet. I would expect to see something Manager, Marcoussis, France, us ... soon, and the PTC will likely address it at http://www.topgraphx.com I agree with you. the November meeting in London. From: [email protected] (Laurent Others posts here answered about actually Gary Duzan, BBN Technologies, A Pautet) existing Ada ORBs, and that's OK. But Verizon Company Date: Tue, 21 Oct 2003 23:13:11 UTC Laurent's original demand was about the From: Victor Giddings Subject: Re: Is CORBA dead for Ada standard. If Ada ORBs do not stick to the Newsgroups: comp.lang.ada latest CORBA version, it will cause inter- Date: Wed, 22 Oct 2003 20:46:55 -0000 Fine, Jean-Claude ! We have some of operability problems, and will also be in- Organization: Objective Interface System these with PolyOrb as well for instance terpreted as a further Ada influence loss. Subject: Re: CORBA mapping for Ada the two last ones. [See also "PolyORB [...] Maybe need we just that ORB ven- Newsgroups: comp.object.corba 0.1 – Schizophrenic Object-Oriented dors set our minds at rest by reaffirming > It seems to me that the last Ada map- Middleware" in AUJ 23.1 (Mar 2002), their commitment in Ada for CORBA, as ping is for CORBA 2.3. But nothing p.16. -- dc] But my question was about do by Jean-Claude in this thread. seems to be done to update it for the status of the Ada mapping. CORBA 2.X (X > 3) or CORBA 3.0. CORBA/Ada is almost unusable for a From: [email protected] (Dirk user without the mapping. Has it been up- Craeynest) I always cringe a little when I see state- dated? Date: 23 Oct 2003 12:46:30 +0200 ments like this, even if it is the fault of the Organization: Ada-Belgium, c/o Dept. of OMG in part. The fact is that IDL does [And from a later message: -- dc] Computer Science, K.U.Leuven not change very often, so the mapping for > Strange... Mr. Pautet you are one [of Subject: Re: Is CORBA dead for Ada? No, CORBA 2.3 is equally useful for 3.0, etc. the] persons behind PolyOrb... PolyOrb it doesn't appear to be. The work of updating is more often add- leads to ACT. If I can get support from Newsgroups: comp.lang.ada ing a new operation to CORBA.Object or ACT for PolyOrb so why does ACT (as It may be useful to point out here that something like that, or clarifying the an Orb vendor) not participate in the similar threads are ongoing in the specification of existing features of the maintenance of the CORBA standard? comp.object.corba newsgroup. Victor mapping. In fact, anything more major As far as I am concerned, I don't see the Giddings of Objective Interface System would be outside of the scope of what an maintenance of the Ada mapping as a re- posted there some responses to the issues RTF (REVISION Task Force) is allowed search interest (anyway, I would need a mentioned above. to do. Case in point was value types, which required a new RFP. funding to participate to it). But in the FYI, I've included the most relevant be- context of schizophrenic middleware, I low. [See Victor Giddings' postings of [And on Gary Duzan's response about a am interested in an up-to-date mapping. Wed 22 Oct 2003 to comp.object.corba, revised Ada mapping soon: -- dc] Concerning ACT, ask them. included further in this thread. -- dc] This is correct. We are working to have From: [email protected] (Volkert) That said, it wouldn't hurt to *see* a bit an update to meet the 3-week deadline for Date: 22 Oct 2003 11:20:45 -0700 more Ada related news from CORBA the London meeting (due Monday!). Subject: Re: Is CORBA dead for Ada vendors, both in this newsgroup and Status can be tracked at Newsgroups: comp.lang.ada elsewhere. > My belief is that there is no real Dirk ([email protected] CORBA market for Ada so the major for Ada-Belgium/Europe e-mail)

Volume 24, Number 4, December 2003 Ada User Journal 218 Ada and Linux http://www.omg.org/techprocess/meetings grammer". At which point, my boss ex- That being said, the other responders are /schedule/Ada_2003_RTF.html claimed "damned right we are"! correct in that there has not been an active Victor Giddings, Senior Product > TopGraph'X is still promoting its Ada Ada Mapping RTF is almost 3 years. My Engineer, Objective Interface Systems products. If ORB-River is compatible only excuse for this is that we have been with CORBA 2.6, it seems that it does busy with other OMG specifications like From: Victor Giddings Real-Time CORBA (1.0 and 2.0), Fault not include new features from versions greater than 2.3. Does anyone have Tolerant CORBA, Data Distribution, etc., Date: Wed, 22 Oct 2003 22:06:04 -0000 etc.. […] Nevertheless, there is currently Organization: Objective Interface System fresh news on the OMG activities around the Ada mapping? an active RTF attempting to deal with the Subject: Re: Ada CORBA intro? backlog. Anyone may participate in this Newsgroups: comp.object.corba Dirk Craeynest was kind enough to repost activity by joining the email group (ada- [On a request for a CORBA tutorial/intro my responses to a similar thread on [email protected]). Non-OMG mem- for Ada programmers. --dc] comp.object.corba and inform me of this bers may need to contact me to be added thread. I would like to expand on some of to the list. Voting membership (one per > A Google search for simply "CORBA the earlier responses. organization) in the RTF requires a mini- Ada" turns up a surprising amount of There seems to be much apprehension and mal level of membership in the OMG but, material. A good start might be in practice, most voting is pro-forma after www.ois.com. more than a little misunderstanding asso- ciated with CORBA "versions". CORBA a consensus has been worked out among You can also refer to my Ada Letters arti- is not a monolithic specification but a us. Let me know if you are interested in cle of five or six years ago, before I left collection of adopted specifications that formal membership, so this can be placed MITRE. (I can't recall the specific issue, may or may not be consolidated into indi- on the PTC agenda. but could look it up for you). I've also vidual documents. The individual docu- Victor Giddings, Senior Scientist, done a more recent article for the COTS ments have associated Revision Task Objective Interface Systems Journal (V 3, No. 5, May 2001), but it is Forces (RTFs) and individual life cycles. more an advocacy article than a tutorial. The references such as CORBA 2.6 are > Whether you can get really substantial more properly references to a particular Ada and Linux material free of charge is another mat- version of the "CORBA Core" specifica- ter, as CORBA and Ada is a relatively tion, a particular document that specifies GNAT 3.15p Package for exotic combination likely to be of inter- the language-independent requirements of Debian est mainly to engineers and mili- what an ORB product must implement. tary/aerospace developers. Changes to the CORBA Core specifica- From: Ludovic Brenta tion may or may not require changes to You might be surprised at the range of the language mapping specifications, de- application our Ada product has been Date: 26 Aug 2003 00:56:45 +0200 pending on whether there is a significant Subject: Re: Ada Getting More Shelf used in. This includes an ocean-going change to the IDL language. Therefore, a yacht Publicity lot of revision of the CORBA Core would Newsgroups: comp.lang.ada http://www.webriviera.fr/Technology/Kin have been addressed by changing the last gcat/index.php, high-energy physics digit in the statement that the mapping [...] Would you be willing to try and build applications http://www.llnl.gov/nif/, ... was "aligned to CORBA version 2.x". the package I made for GNAT 3.15p on Victor Giddings, Senior Product Debian? I don't have access to an Alpha There is understandable confusion about machine to try it on. Engineer, Objective Interface Systems this that has been partly caused by the From: [email protected] (Laurent OMG itself. First of all, the CORBA Core You can get my package, as well as sev- Pautet) document contains a lot of things, e.g. eral Ada-related others, at Date: Thu, 23 Oct 2003 16:47:59 UTC CORBA/COM Interworking, that don't http://users.skynet.be/ludovic.brenta. My Subject: Re: Is CORBA dead for Ada have to be implemented by an ORB prod- packages were built on sarge but I think Newsgroups: comp.lang.ada uct. The OMG staff have also issued press you can compile them on woody as well. [...] Indeed my question is the current releases that claimed what the contents of status of the mapping. CORBA x.x would contain. In general, More Ada Packages for this is a problem that needs to be fixed. In Debian I must apologize for having started this addition to being the chair of the Ada troll but at least one CORBA tool vendor RTF, I am chair of a group in the OMG From: Arnaud Rolly is now on-line We had the advertising called the Product Specification Defini- part about their technology, we are now tion (psdef) subcommittee that is trying to Date: Tue, 9 Sep 2003 17:28:46 +0200 waiting for an answer about the mapping straighten out publication organization Organization: Eikonex :)) and coordination of versioning. I urge you Subject: Paquets des LL Ada From: Victor Giddings to participate. To: [email protected] The bottom line is that the fact that the [Translated from French: -- dc] Date: Thu, 23 Oct 2003 19:14:29 -0000 current Ada Language Mapping specifi- Organization: Objective Interface System Is there a source of RPM/Deb packages cation is "aligned to CORBA 2.3" means with the most important free Ada software Subject: Re: Is CORBA dead for Ada very little. As I stated in the Newsgroups: comp.lang.ada (such as Florist, AdaSocket, AWS, comp.object.corba post, the OMG IDL PolyOrb, GtkAda, AdaDoc, ...)? This is > [...] OIS which seems to lead this task language is fairly stable, so few changes an important point for deployment of ap- force is very shy in its promotion of in the language mapping are needed. Most plications. Ada on its web site. of the features added in the CORBA Core 2.4 and later versions are specified in a (To have a coherent set of packages I will feed this back to our marketing language independent manner and have would really be a plus; the waste of time team. We are not shy in our promotion of not affected the language mapping. So, as to install workstations/servers is consider- Ada. In the last OMG Real-Time Work- Jean-Claude Mahieux was able to report, able: to install the correct compiler, the shop in response to a comment, I was ac- there has been no hindrance to advancing correct support libraries... This hinders the cused of being "an unrepentent Ada pro- Ada ORB implementations. distribution of applications written in Ada.)

Volume 24, Number 4, December 2003 Ada User Journal Ada and Linux 219

Arnaud Rolly, Eikonex, Open Source I have followed the recommendations in from the files that get installed during the Engineering, http://www.eikonex.net my Debian packages. Basically: process. From: Lionel Draghi *.ad[bs] go in I wanted this RPM to install so that it had /usr/share/ada/adainclude// stallations so everything will be installed Subject: Re: Paquets des LL Ada *.ali and *.o go in under gnat-501a-jmc To: [email protected] /usr/lib/ada/adalib// So, you MUST put /usr/gnat/gnat-501a- The main problem seems to be the lack of *.a and *.so go in /usr/lib jmc/bin in your path for this to work. If a "packager". In your list, half are not you already have a gcc installed I recom- packages for Debian. The resumption of And I've added: mend putting this path entry at the start of the GNAT, GtkAda, and Florist packages *.gpr go in your path to be sure you really are run- by Ludovic Brenta gives hope for a better /usr/share/ada/adainclude/ ning it. future. As for testing...I have done hardly any PS: I am not sure whether his packages GNAT 5.01a Like RPM for testing of this at all. I did install the RPM are already available by the official ways. Redhat 9 on a separate machine and verified I could For the interested debianers, add "deb build and run hello world. I also built and http://users.skynet.be/ludovic.brenta test- From: Jeff C ran (on the original machine) a simple ing main" to your /etc/apt/sources.list Date: Fri, 10 Oct 2003 17:26:08 GMT tasking program that did I/O from a cou- From: Lionel Draghi Subject: Announce: GNAT 5.01a Like RPM ple of tasks to see that the tasking runtime for Redhat 9 Available at least appeared to be semi-functional. Date: Tue, 30 Sep 2003 23:19:23 +0200 Newsgroups: comp.lang.ada So, let me know if you run into anything. Subject: [Ann] Dépot pour les packages Ada This is a first build of something that re- Since I did not modify any of the sources Debian sembles GNAT 5.01a as an RPM for I am not at this time actually including a Newsgroups: fr.comp.lang.ada Redhat 9. source library of all these GPL compo- New Ada packages (GNAT, GPS, You can download it from Adaworld from nents. GtkAda, ASIS, Florist, etc.) were realized the links page [And from a later message: -- dc] by Ludovic Brenta. While waiting for http://www.adaworld.com/linksmain.html their integration in the official depots, [select "Ada Downloads Websites" -- dc] > Works well for me! Tested with AWS- 1.3, Adasockets-1.8 and XmlAda-0.7.1 they are accessible on the server of the GNAT 5.01a is based on gcc 3.2 technol- Ada-France organization ogy but it is not the same as building an Glad it is working! (http://www.ada-france.org/). out of the box configuration of gcc 3.2. Note that the RPM has been temporarily The usual magic formula for sources.list: GNAT 5.01a is created by patching gcc pulled so I can have this properly identify "deb http://www.ada-france.org/debian 3.2 with a set of Ada Core Technologies itself as something like 5.01p but other ada main" and patches for the core gcc components and than some version/nomenclature stuff by replacing the entire Ada subdirectory there is really nothing particularly wrong "deb-src http://www.ada-france.org/ with the existing RPM. debian ada main". with the contents of the CVS tag 5.01a from http://libre.act-europe.fr/GNAT/ I hope to get a new RPM (along with co- File Location Conventions This was built following the build in- located source code instead of having the for Ada on Linux structions from the README.BUILD source on a different server) this week- (which lives in the CVS archive) with the end. From: Ludovic Brenta following exceptions: From: Jeff C 1) The README.BUILD directs you to Date: Fri, 17 Oct 2003 22:01:30 GMT Date: 10 Oct 2003 19:17:29 +0200 re-use 3 libraries from your existing bi- Subject: Re: GCC 5.01p (was: Re: gcc/gnat Subject: Re: POSIX File Structure nary distribution in order to create the fi- 3.3) Conventions for Ada nal gnat tools. (libaddr2line.a libbfd.a and Newsgroups: comp.lang.ada Newsgroups: comp.lang.ada libiberty.a). I did not do this since I ran [In response to "when I re-release my > I would love to hear what the generally into linking issues on Redhat 9 when I properly marked GNAT 5.01p for Redhat accepted practice is for placing Ada tried this (although it appears to work un- 9 x86" Ludovic Brenta -- su] packages on a Unix file system. The der Solaris). In addition, I was not wild about not really building everything from > I am suspicious about this "5.01p" ver- library files are already well defined, sion number. In my understanding, the but where is the standard location to put source. So, I downloaded a copy of bi- nutils-2.13.2.1, patched it with a patch file "p" stands for something like "pub- Ada specs (and bodies for generics) and lished" or "public", i.e. it denotes one of those GNAT *.ali files, in a POSIX from the GNAT CVS archive (although in this case to get the patch I had to use a file ACT's stable releases. Since I am not compliant platform? On Linux? In aware of any 5.01p official release by /opt? In /usr/local? If so, where in from the CVS head - version 1.6 of the file called binutils-2.13.2.1.dif). ACT, I would suggest you use a version there? number that denotes that this is from Florian Weimer has put together a pro- 2) The instructions in README.BUILD CVS, such as e.g. 5.01.cvs.20031017. posal for this. Details are available at do not actually create an RPM, they just do a standard install via make install. Actually p stands for public. Since this is http://cert.uni- not just a random CVS grab at a random stuttgart.de/files/ada/gnae/gnae-0.5.html. Since I have never created an RPM before I took the easy way out and used a pro- time but a pull of the tagged CVS files [From that page: "The GNU Ada Ada gram called checkinstall to build it. Basi- that were "released" for 5.01 it seems Environment Specification describes a set cally checkinstall is a program that pretty reasonable. Note though that the of requirements for conforming installa- monitors the progress of a make install RPM and the directory that it gets in- tions of GNAT, the Ada compiler of the and creates an RPM semi-automatically stalled in is actually 5.01p-jmc to further GNU Project, and associated tools and libraries. -- dc]

Ada User Journal Volume 24, Number 4, December 2003 220 Ada and Microsoft differentiate it from real real version that Plugins in Ada Programs > [...] I believe there are some tasking may or may not some day be publically issues with Redhat 9 and GNAT due to released by ACT. From: kat-Zygfryd <[email protected]> the threading changes [in] RH9. Finally, I have discussed it with ACT and Date: Sat, 4 Oct 2003 01:47:43 +0200 Yes, at least for GNAT 3.15p. I've not they were OK with calling it 5.01p which Subject: DLLs / shared objects tried any of the GCC 3.x versions of seems good enough for me. Newsgroups: comp.lang.ada GNAT, so can't make any statements re- But of course you are right to be suspi- I'd like to have a plugin system in my Ada garding that. Here's a link to the info you cious about this!! Who knows who I am program – loading functions/procedures need for GNAT 3.15p and RH 9: or what evil lurks in the heart of men. So, from dll's/so's unknown at compile time, http://groups.google.com/groups?selm=25 if you want a real 5.01 where someone but found by the app at runtime. All in- 4c16a.0307261224.347f4fe2%40posting. stands behind what is actually in it I sug- formation I found concerned only google.com&output=gplain gest you pay several thousand dollars to Windows DLLs and involved statically Marc A. Criley, [email protected], ACT and get a 5.01a since even ACT linking parts of the dynamic libs, which is www.mckae.com unacceptable. Is there any way in Ada to does not promise anything in particular From: Mike Card (other than it being good for student and do so? (GNAT 3.14p, x86 Windows/Linux) [...] research use) about the "p" releases. Date: Wed, 08 Oct 2003 04:47:12 GMT [All following responses were sent on 4 Subject: Re: Redhat Linux 9.0 and Gnat- RTLGnat 1.0 - GNAT Port Oct 2003 as well. -- dc] tasking bug for Real-Time Linux OS [From: Jerry van Dijk ] Newsgroups: linux.redhat.install,comp.lang.ada From: Jorge Real Yes, the same way as you would with C Date: Tue, 02 Sep 2003 19:53:34 +0200 or C++. This is as you probably realize FWIW, I think you'll find that Ada task- Organization: DISCA-UPV not a language but an OS question. ing does not work with the GNAT that comes installed by default in RH9. I used Subject: Announce: RTLGnat 1.0 released I never did this under Linux, but under the GNAT that came with RH8 and it Newsgroups: comp.lang.ada Windows you can use the Win32 API to worked great, but the size of the data dynamically load DLL's and get pointers RTLGnat version 1.0 is now available structure for tasks changed in RH9 and so to their function. Or you can use from the following web site: GNAT's task control blocks are the wrong GNATCOM if you want to use (D)COM size. So if you have a program that uses http://rtportal.upv.es/apps/rtl-gnat/. It objects instead. [...] works with Gnat 3.14p or 3.15p and tasking you will have problems. Jerry van Dijk, Leiden, Holland RTLinux 3.1, 3.2pre1, 3.2pre2 or later (as We fixed this on our RH9 installation by long as the POSIX interface is preserved). [From: chris ] downloading LOTS of RPMs for gcc and RTLGnat is a port of the GNAT Ada Linux Dynamic Library support is pro- installing them ourselves after finding a compiler for the Real-Time Linux oper- vided by "dl" (man dlopen), a binding can newsgroup posting when doing a Google ating system. An Ada program can be be found at http://www.cyberdanx.co.uk search for information about this problem. compiled as a Linux loadable kernel [see previous news item -- dc]. I say LOTS because of dependencies we module, where the program's tasks run as encountered that kept requiring more and [From: Patrice Freydiere RTLinux threads, with a higher priority more RPMs. Anyway, to our amazement ] than any other running Linux application. we did as the posting recommended and There is a solution for each system sup- voila our GNAT compiler is producing [See also "RTLGnat - GNAT Port for porting dynamic library loading. You can good code for programs with tasking. Un- Real-Time Linux OS" in AUJ 24.2 (Jun use the Win API to do so for Windows fortunately I couldn't find the link just 2003), p.88. -- dc] platform. There is an example in the now, but here is another thread that de- Jorge Real Sáez, Departamento de AdaPower source repository. scribes the problem: Informática de Sistemas y Computadores, There is a AdaPlugin project for Linux http://www.geocrawler.com/archives/3/84 Universidad Politécnica de Valencia that uses Dynamic Glib Module function- /1996/1/50/273331/ ality (I don't remember the URL) or Dlib DLibs 0.1 - Binding to Linux (http://www.ada-france.org/article94. Library Loader html) Ada and Microsoft From: Chris Campbell I never saw an Ada project that makes an Windex Binding Updated for abstraction and proposes a common ap- Date: Tue, 09 Sep 2003 18:09:39 +0200 proach of "plugin" that manages the dif- Windows 2000 Subject: [Ann]: Binding to Linux Library ferent platforms. From: Stephen Leake Loader - DLibs 0.1 [From: chris ] Newsgroups: comp.lang.ada Try www.cyberdanx.co.uk and look for Date: 27 Oct 2003 12:00:52 -0500 Version 0.1 of DLibs is now available at dlib. It's not high level but it does bind to Organization: NASA Goddard Space Flight www.cyberdanx.co.uk, complete with Linux library loading facilities, and might Center (skates.gsfc.nasa.gov) documentation and examples. DLibs is a serve as the basis for a higher level bind- Subject: Windex binding to the Linux Library Loader, al- ing. Newsgroups: comp.lang.ada lowing Ada 95 programs to load and util- Well, in the spirit of "never say never", I ise libraries at runtime! GNAT Tasking on Red Hat got tired of waiting to have time to port Suggestions, complaints, notes of omis- 9.0 my favorite Windex application to sions, ... are all welcome. [...] Thanks to GtkAda, and decided to see how hard it Simon Knipe for helping with the binding From: [email protected] (Marc A. would be to fix Windex on Windows way back in January (when it should have Criley) 2000. Took about an hour; MS had added came out, had I not removed the wrong Date: 7 Oct 2003 06:33:11 -0700 a field to the MenuItem record. Of course, partition :(). Subject: Re: Redhat Linux 9.0 and Gnat I should have had a test function that Newsgroups: checked the lengths of all C structs I im- linux.redhat.install,comp.lang.ada ported, but that would have meant main

Volume 24, Number 4, December 2003 Ada User Journal References to Publications 221 taining some C code with MS Visual that everything is an object. Even if it is I have been asked by people from several Studio; one of the reasons I gave up on true it is not very interesting - saying that non-English language countries for per- Windex. everything is an object is saying nothing mission to translate Ada Distilled. If you [See also "Windex 1.04 - Thick Binding at all. I find OOP methodologically are one of those people currently trans- to Win32" in AUJ 21.1 (Apr 2000), p.30, wrong." lating Ada Distilled, please remind me to and many references in more recent is- Asked what he thought of Java, he replied send you the MS-Word version so your sues. Release 1.06 is at that "...It keeps all the stuff that I never task will be easier. http://www.toadmail.com/~ada_wizard/ -- use in C++ - inheritance, virtuals - OO [See also "Ada Distilled - On-line Book dc] gook – and removes the stuff that I find Updated" in AUJ 24.2 (Jun 2003), pp.89- Anyway, if you want the fix, let me know. useful." 90, and "Feedback on Ada Distilled This is one way of gauging interest in He says later that "...I spent years trying Online Book" in AUJ 24.1 (Mar 2003), Windex . If there is sufficient interest, I'll to find some use for inheritance and virtu- p.8. -- dc] do a release (the fix is _not_ on my als, before I understood why that mecha- website). nism was fundamentally flawed and Arthur Griffith - "GCC: [Stephane Richard should not be used." The Complete Reference" Burns & Wellings - "Real- From: Warren W. Gay VE3WWG responded: -- dc] Well you got my interest. But I think you Time Systems and Date: Tue, 19 Aug 2003 09:28:15 -0400 knew that already. . [...] I learned a lot of Programming Languages" Subject: Ada Getting More Shelf Publicity my Ada programming from Windex and Newsgroups: comp.lang.ada From: Richard Riehle SAL when I started along with a few I was happy to see the beginnings of fruit other examples and some PDF files :-)... Date: Sun, 03 Aug 2003 11:24:35 -0700 from putting Ada (GNAT) into the GCC He's my mentor and he doesn't even know 3.x compiler. The book "GCC: The Com- it . Organization: AdaWorks Software Engineering plete Reference" will expose more GCC Stéphane Richard, "Ada World" Subject: Announcement: Burns and Wellings readers, to the existence of Ada and get Webmaster, http://www.adaworld.com Book the curious started in it. There is a table of [Stephen Leake replied: -- dc] Newsgroups: comp.lang.ada contents available in the [information on www.amazon.com about the book -- dc]. Thanks. I just acquired the current edition of the book by Alan Burns and Andy Wellings, The Ada sections are short, and the inter- But this raises a general point. If you Real-Time Systems and Programming facing C to Ada section is very short, but like/use an open source project, you Languages, Addison-Wesley, ISBN 0- at least readers will become more aware should provide feedback to the authors. 201-72988-1, Third Edition. This update that it is there, and that it can coexist in a Often the only feedback we get is bugs. to their already great Second Edition is C world. For all I know, there are hundreds of peo- important for anyone interested in Real- ple using Windex, and they've never had a Warren W. Gay VE3WWG, time Systems. It covers Ada, Java RT, C, problem . I'd like to hear from them. [...] http://home.cogeco.ca/~ve3wwg Occam, Posix, and others. Somehow, it From: Arthur Griffith has not been as well-known in our imme- diate and direct visibility as some other Date: Fri, 22 Aug 2003 18:04:56 GMT References to Publica- books. The price is $60.00 USD, but I Organization: ACS Internet - complaints to think it is worth every penny. tions [email protected] [Although published in March 2001, this Subject: Re: Ada Getting More Shelf An Interview with A. important book wasn't mentioned in the Publicity Stepanov AUJ news section until now. -- dc] Newsgroups: comp.lang.ada From: Matthew Heaney New Version of "Ada The subject of the book is GCC and all of its languages. I didn't try to dig into any Date: Sun, 03 Aug 2003 16:42:26 GMT Distilled" On-line Book of the languages (other than some of the Subject: Re: XML DOM Binding for Ada 95 GCC variations to them), but only to ex- From: Richard Riehle plain how to install and run the compiler. - matter of style Newsgroups: comp.lang.ada Actually, I had to do a bit of extra work in Date: Mon, 04 Aug 2003 19:11:42 -0700 describing Ada because the installation of > I see tagged types as the way to fully Organization: AdaWorks Software it is in two phases--first by installing the implement the Object Oriented para- Engineering GNAT compiler and then by installing the digm in Ada. Subject: Announcement: Revised Ada GCC Ada compiler. That was necessary To help convince you that inheritance- Distilled because some of the source is in Ada. [...] Newsgroups: comp.lang.ada oriented programming is not the solution Warren, thanks for checking out the book. to all problems, I suggest you read this A new version of Ada Distilled is avail- interview with Stepanov: able at http://www.adaic.org & From: Warren W. Gay VE3WWG http://www.stlport.org/resources/Stepanov http://www.adapower.com free for USA.html downloading. It is about 100 pages as a Date: Mon, 25 Aug 2003 12:27:26 -0400 PDF file. There is also a ZIP file con- Here are the money quotes: Subject: Re: Ada Getting More Shelf taining all the source code for the book. Publicity "I find OOP technically unsound. It at- The newest version uses color text exten- tempts to decompose the world in terms sively in both comments and code exam- Newsgroups: comp.lang.ada of interfaces that vary on a single type. To ples. Also, I have commented, in color, Nevertheless, it was encouraging to see a deal with the real problems you need several of the more commonly used pack- GCC book include sections about Ada, multisorted algebras - families of inter- ages in the ALRM and Annexes. brief as they may have been. Half of the faces that span multiple types. I find battle is giving people Ada to work with, OOP philosophically unsound. It claims This is freeware. You may copy it, for- ward it, print it, or whatever. and another significant portion is demon-

Ada User Journal Volume 24, Number 4, December 2003 222 References to Publications strating that it can be used with C. So I Royalty Free Subscription Pricing Now Hardcopy of Ada RM and think that this is a good start. [...] Available from DDC-I. A flexible pricing option aimed directly at the customer's Related Documents DDC-I Online News bottom line! From: [email protected] (Dirk 3rd Party Update: FAA DO-178B Craeynest) [Extracts from the table of contents. See Training - November 6th & 7th. [...] Date: 24 Oct 2003 08:24:55 +0200 elsewhere in this news section for selected Organization: Ada-Belgium, c/o Dept. of items. -- dc] Tech Talk: A simple way to debug Ada elaboration code. Computer Science, K.U.Leuven From: jc Subject: Re: Hard copy of Ada RM (was: Date: Tue, 2 Sep 2003 15:03:04 -0700 Pair Programming. A powerful addition to Hex ouput) (MST) the software development toolbox. Newsgroups: comp.lang.ada Subject: Real-Time Industry Updates - News For this months complete newsletter, go > [...] as I have yet to get a hardcopy one from DDC-I to http://www.ddci.com/news_current_ for '95. Do you know where I can pur- To: T9DK Sept 2003 Online News issue.shtml [...] chase one? I hate trying to read PDF (et. al.) files on my computer. I much DDC-I Online News. August/September Thomas Bergin et al - prefer books. 2003, Volume 4, Number 6 - "History of Programming Both the Consolidated Ada Reference [http://www.ddci.com/news_vol4num6.sh Manual and the Ada 95 Rationale have tml] A monthly news update dedicated to Languages" been reprinted by Springer in their DDC-I customers & registered subscrib- From: Matthew Heaney Lecture Notes in Computer Science se- ers. ries, and are readily available. Embedded C++ Now Supported by DDC- Date: Wed, 8 Oct 2003 18:17:40 -0400 Full information can be found on the I's SCORE IDE. More options for cus- Subject: Re: Question about historical AdaIC web-page "Accessing the Ada tomers developing safety-critical systems. fairness Language Reference Manuals" at URL To: [email protected] 3rd Party Update: The real-time operating http://www.adaic.com/standards/articles/lrm system buying decision. > [...] I feel it isn't possible to get an un- .html (see subsection "Ordering Print TADS-68xxx Windows Migration Pack- biased history of computer languages. I Copies"). would like to see what contributions age. A budget conscious solution for cur- Note that the document "Ada 95 Quality were made by whom at what time - and rent TADS customers. and Style Guide: Guidelines for Profes- honestly - without hype, spin, market- sional Programmers" is also reprinted by Keeping the Customer Happy. How to be ing, or other lies. Does anyone know if Springer, should you be interested. successful in customer relationship man- this exists? agement. [...] Dirk ([email protected] You can read about the development of for Ada-Belgium/Europe e-mail) From: jc the Ada programming language in History Date: Wed, 1 Oct 2003 15:53:40 -0700 of Programming Languages, Volume 2, *** Intl. Conference on Reliable Software (MST) by Thomas J. Bergin et al. Technologies - Ada-Europe'2004 Subject: Real-time Industry Updates - News *** June 14-18, 2004, Palma de Mallorca, from DDC-I [See http://www.csis.american.edu/ Spain ** www.ada-europe.org *** To: U9DK Oct 2003 Online News tbergin/pubs/programming.html for the table of contents. -- dc] CrossTalk - Papers on DDC-I Online News. October 2003, Vol- Adrian Hoe - "Software Ravenscar and on Static ume 4, Number 7 - [http://www.ddci.com/news_vol4num7.sh Development Reengineering Code Analysis tml] - An Experience Report" From: [email protected] (Rod DDC-I's SCORE IDE Now Offers From: Adrian Hoe Chapman) Windows Native Capability. Start Date: 31 Oct 2003 00:55:33 -0800 Software Development and Testing Date: Thu, 23 Oct 2003 10:45:42 +0800 Subject: Ada article in CrossTalk Journal Before Hardware is Available! Subject: Solid facts to promote Ada Newsgroups: comp.lang.ada 3rd Party Update: The CsLEOS RTOS - Newsgroups: comp.lang.ada I'm sure c.l.a readers will find the latest A Technical Overview. I've just made available my paper, "Soft- issue of CrossTalk Journal of interest. Edison and The Phonograph - Lessons to ware Development Reengineering - An There are two very Ada-friendly articles Learn From. Being First or Being Best Experience Report", on my web site adri- in there: Does Not Matter. What Matters is What anhoe.com [...]. "The Ravenscar Profile for Real-Time and Your Customers Think & Need. [...] This paper was published in the confer- High Integrity Systems" by Dobbing and From: jc ence proceeding of Ada-Europe 2002. It Burns, Date: Fri, 31 Oct 2003 11:29:59 -0700 has real numbers to proof that Ada is a "Software Static Code Analysis Lessons (MST) better language over others, instead of Learned" by Andy German of QinetiQ Subject: Real-time Industry Updates - News statements claiming Ada is better. Boscombe Down. from DDC-I This paper may complement Jack The latter paper presents years of findings To: V9DK Nov 2003 Online News Ganssle's article "My love-hate relation- regarding the static analysis of all sorts of ship with C" in Embedded.com (see aircraft systems. Should be required DDC-I Online News. November 2003, Volkert's post on Oct 21). reading, especially if your current project Volume 4, Number 8 - [See also "Embedded.com on Love-Hate name starts with a "J" and ends with an http://www.ddci.com/news_vol4num8.sht Relationship with C" further in this AUJ "SF". ml] issue. -- dc] You can find these at www.stsc.hill.af.mil Rod Chapman, SPARK Team, Praxis Critical Systems

Volume 24, Number 4, December 2003 Ada User Journal Ada Inside 223

From: Rasmussen Karen J Contr OO- It is interesting to note that without cer- Date: 7 Oct 2003 06:10:58 -0700 ALC/MASEA tain tools like AWS, Ada would not have Subject: a good book to start with? been selected: we support "mature" tech- Newsgroups: comp.lang.ada Date: Mon, 3 Nov 2003 08:41:52 -0700 nologies directly bringing many inte- My background: Perl, Java, C++. [...] I Subject: The November 2003 Issue of grable components; it is not viable to re- was impressed by some tutorials I've seen CrossTalk is now available on-line. develop the low layers of the protocols, over the web about Ada. And most im- To: [email protected] for example. portantly the kind of application you can The November 2003 issue of CrossTalk, Ada could also become a commercial ar- make with. I would like to know more, The Journal of Defence Software Engi- gument, but that is not on the agenda now. just a hobby. [...] On the linux OS, [...] neering is now available on our Web site Eikonex, as far as possible, only uses From: Stephen D. B. Wolthusen at: . free/open source components to offer to This month our theme is "Development of its customers perennial solutions, on the Date: Tue, 7 Oct 2003 18:44:10 +0200 Real-Time Software." Linux platform [...]. Subject: Anyone interested in Ada-related [...] Next is "The Ravenscar Profile for Arnaud Rolly, Eikonex, Open Source European research project? Real-Time and High Integrity Systems" Engineering, http://www.eikonex.net To: [email protected] by Brian Dobbing and Alan Burns. These The following is pertinent only for authors present the Ravenscar model for China - Super 7 Jet European Union and affiliated nations building safe and reliable real-time sys- (e.g. Switzerland, Israel) because of tems. They explain how developers using From: Adrian Hoe funding regulations. this profile can establish high confidence We are currently putting together a con- Date: Sun, 07 Sep 2003 21:54:34 +0800 levels in concurrency properties and re- sortium for a submission to the European Subject: Re: F22 Raptor in slashdot.org quirements within international standards Union's 6th framework program in the Newsgroups: comp.lang.ada early in the development life cycle. area of secure mobile applications with In "Software Static Code Analysis Les- The Chinese new generation jet fighter significant portions of the systems to be sons Learned," author Andy German rolled out recently in Cheng-du has its developed in Ada (for reasons of high as- shares his experiences from developing fly-by-wire and combat and target man- surance / reliability). While the core of the safety-critical, real-time systems. He de- agement systems developed in Ada. This consortium is already established, I would fines static code analysis, reviews some of magnificent Super 7 (formerly known as particularly welcome small and medium the tools, and shares lessons learned at FC 1) has many modern architectures in- enterprise participants, but would also in- The United Kingdom Ministry of De- cluding software. vite research/university participation. fence. [...] Please contact either myself Pam Bowers-Palmer, Managing Editor Indirect Information on Ada ([email protected]) or Volker Roth at Usage ([email protected]) at your earliest con- venience if you're interested. Ada Inside [Extracts from and translations of job-ads and other postings illustrating Ada usage Thanks! France - Electronic around the world. -- dc] Stephen Wolthusen, Fraunhofer-IGD, Document Shelf From: Patrick Farail Darmstadt, Germany From: [email protected] From: Arnaud Rolly Date: Wed, 06 Aug 2003 16:53:19 +0200 Date: Wed, 08 Oct 2003 02:08:55 GMT Subject: TR: Protected operation and IT Subject: Re: graphics in ada Date: Fri, 5 Sep 2003 17:31:06 +0200 handling Newsgroups: comp.lang.ada To: [email protected] Organization: Eikonex > My professor said that graphics were Subject: Base de données XML [...] If somebody could help us it will be not possible in Ada. [...] To: [email protected] very nice. [...] We use GNAT 3.13p under I guess the video editor I built in DOS Sun/Solaris 2.x. [...] [Extracts translated from French. -- dc] with Ada 83 in 1992 must have not been Being new on this group, I present Patrick Farail, Airbus France, Software possible. Or the teleprompter that I myself: my name is Arnaud Rolly, and I Engineering Methods posted on Compuserve. Sigh. am an engineer (software) in an enterprise URL: http://www.jobscareer.be/[...] From: Marc Pelletier in Toulouse, Eikonex. Eikonex decided to Date: Sat, 27 Sep 2003 00:04:21 +0200 Date: Fri, 24 Oct 2003 20:05:13 -0000 use Ada for its internal R&D projects, (MEST) Organization: Goldak Exploration projects which should lead thereafter to Subject: Realtime and Ada - stupid newby commercial offers, also developed in Ada. IT & Telecom - region Brussels - sector Telecommunication, ICT & Internet question [... ] Newsgroups: comp.lang.ada New! 4 Ada Software Engineers [...] [And from a later message: -- dc] I am planning a realtime application for > That's interesting news. Is it possible to Function description: You will be inte- data acquisition on a pc104 platform and know more? Is this an internal choice, grated in a strategic project including ar- investigating my OS options. I'm nor- or is this to score with respect to the chitectural & detailed design, develope- mally a Delphi programmer, and rather potential customers of your products? ment of the application, programming, than the pain of boning up on my very Which platforms are envisaged? testing and writing of the design poor C/C++ skills, I would like to learn documentation. The choice of Ada arises from several in- Ada for this project. [...] ternal concerns on two points: quality Profile: [...] Knowledge of a programming Marc Pelletier, Goldak Exploration language preferably Ada 83-95 or C++. (vast field, Ada is only one link in the From: Adrian Hoe chain here), maintenance (previous devel- Developer & analyst designer. Team spirit and good methodology. opment experience showed large short- Date: Sat, 25 Oct 2003 11:48:27 +0800 comings in the preceding choices, RIP). From: [email protected] (Olivier Subject: Re: Solid facts to promote Ada Laurent) Newsgroups: comp.lang.ada

Ada User Journal Volume 24, Number 4, December 2003 224 Ada Inside

[...] Right now, I have some more impor- of Ada World (they're in that section Subject: Re: Applications written in Ada tant job to attend to. One of it is to pre- because the applications are mainly Newsgroups: comp.lang.ada pare course material for a Basic Ada intended as test programs for the terminal > Is there a list of applications written in Hands-on Workshop in a university in emulation library). However, they are Ada that are not intended for defence, Malaysia which I gave a seminar 10 days both complete implementations, and the space, aviation? ago. [...] source is available. On these lists you'll find (also) non de- From: MIKE/MAR-EL [See also "Ada Terminal Emulator for fence/space/aviation applications: Windows" in AUJ 24.3 (Sep 2003), http://www.seas.gwu.edu/~mfeldman/ada- Date: Thu, 30 Oct 2003 18:58:34 GMT pp.150-151. -- dc] project-summary.html and Subject: Sr Ada SW Engineering openings There are other Win32 applications listed http://www.acm.org/sigada/education/pag Newsgroups: comp.lang.ada on the site, but sometimes it is not obvi- es/success.html Experienced Senior SW Engineers with ous exactly what platforms are supported. > [...] Ada applications (especially for Ada development skills needed to work If you feel this is a serious omission (I Win32) [...] for which the source code on various defence related programs. never thought of it before!) it might be is available? Coding, integration, Team Lead etc. worth making this point via the feedback link on the site. Not looking too far I can cite: Current permanent job openings in NY http://www.usafa.af.mil/dfcs/bios/mcc_ht and RI. Relocation packages will be of- From: Peter Amey http://www.mysunrise.ch/users/gdm/texca Other desirable skills include: C/C++, Date: Wed, 29 Oct 2003 11:04:53 d.htm OO, CORBA, RTOS-VxWorks, Combat Subject: Re: Applications written in Ada Newsgroups: comp.lang.ada From: Ed Falis Control Systems experience, Rational Date: Wed, 29 Oct 2003 21:55:01 GMT Apex. > [...] applications written in Ada that are Subject: Re: Applications written in Ada Active Secret clearance is a plus but not not intended for defence, space, avia- Newsgroups: comp.lang.ada tion? always necessary. US citizenship is re- AstroFrames, an astrology program that quired. You could take a look at the IEEE paper works on Windows and various Unices: describing the Mondex smart card certifi- http://mysite.verizon.net/vze6qirr/myinde Applications Written in Ada cation authority downloadable from x.html http://www.sparkada.com/downloads/ieee From: Lars sw.pdf. This describes a Windows NT From: Jeffrey Carter Date: Wed, 29 Oct 2003 09:16:08 +0100 hosted system written in Ada 95, SPARK Date: Thu, 30 Oct 2003 04:49:56 GMT Subject: Applications written in Ada (and C++ for the GUI) which is none of Subject: Re: Applications written in Ada Newsgroups: comp.lang.ada defence/space/aviation being finan- Newsgroups: comp.lang.ada I am aware of the (alleged) fact that Ada cial/security. Mine Detector, a mine-finding game for is mainly used for the development of [See also "Ada and Cryptography" in AUJ Windows and Linux: safety-critical applications by govern- 23.3 (Sep 2002), pp.139-140. -- dc] http://home.earthlink.net/~jrcarter010/min mental institutions. I found a list of mili- det.html. [See also "Mine Detector From: Randy Brukardt tary, space, and aviation projects realised Game" in AUJ 22.4 (Dec 2001), p.205. -- in Ada, and it was not unimpressive. dc] Date: Wed, 29 Oct 2003 14:17:35 -0600 [See also "Ada in Fielded Military Sys- Subject: Re: Applications written in Ada From: Erlo Haugen tems" in AUJ 24.2 (Jun 2003), pp.96-97, Newsgroups: comp.lang.ada Date: Thu, 30 Oct 2003 11:28:29 +0100 and "List of Real-World Projects Powered Organization: Terma A/S > [...] Ada applications (especially for by Ada" in AUJ 23.3 (Sep 2002), p.154. - Subject: Re: Applications written in Ada Win32) [...] for which the source code - dc] Newsgroups: comp.lang.ada is available? However: Is there a list of applications > Which Ada applications (especially for Win32-specific applications typically use written in Ada that are not intended for Win32) are there for which the source a thick library like Claw, GWindows, or defence, space, aviation? Which Ada ap- code is available? Windex. Look for apps using those bind- plications (especially for Win32) are there ings on the Ada-wide search engine: The GNU visual debugger GVD is written for which the source code is available? www.adaic.com/site/wide-search.html. I in Ada [and is now integrated in the GNU From: Ross Higson know that there are number of small ap- Programming System GPS -- dc]. plications using Claw out there. (The From: [email protected] Date: Wed, 29 Oct 2003 20:49:05 +1100 Claw GUI builder is a Claw application, Date: Thu, 30 Oct 2003 19:19:57 GMT Subject: Re: Applications written in Ada in fact. But no source available on that.) Subject: Re: Applications written in Ada Newsgroups: comp.lang.ada From: Jano Newsgroups: comp.lang.ada > Is there a list of applications written in Date: Wed, 29 Oct 2003 21:24:17 +0100 > Which Ada applications (especially for Ada that are not intended for defence, Subject: Re: Applications written in Ada Win32) are there for which the source space, aviation? Newsgroups: comp.lang.ada code is available? Try AdaWorld My current hobby project: What constitutes an "application"? Is, for (http://www.adaworld.com/) and look http://agio.sf.net. instance, a web crawler that reports dead around the 'Ada Projects' section. [From that page: "Adagio aims to provide links, an application? How about a pro- > Which Ada applications (especially for a server-only solution for the recently gram that reports on the Win32) are there for which the source published Gnutella2 protocol Ada.Calendar.Clock timing characteristics code is available? (www.gnutella2.com). -- dc] of a particular compiler/OS? I would call a teleprompter program an application, I have telnet and serial communications From: Gautier de Montmollin but I'm not so sure about a program that applications specifically written for Win32 in Ada - see the 'libraries' section Date: Wed, 29 Oct 2003 21:43:13 +0100 plays speech through a soundcard-less shot program that grabs selected election returns off the internet and displays them DOS PC speaker. And what about a one- on a community cable TV system?

Volume 24, Number 4, December 2003 Ada User Journal Ada in Context 225

[See also "Finder - Ada Web Crawler" in as the obvious big ones. But, you can If after reading this you are still interested AUJ 22.4 (Dec 2001), p.200, "Time the compile almost all Ada 83 source with an in Ada, there is an excellent book by John Clock", in AUJ 21.4 (Jan 2001), p.227, Ada 95 compiler. I think that's a remark- English, which is by the author's own and "USA – Local Election Results on able achievement by the Ada 95 team! words "aimed (...) squarely at the begin- Saratoga Community Access Television" ning programmer learning Ada 95 as a in AUJ 24.1 (Mar 2003), p.28. -- dc] Ada for a Programming first language". Here is the URL: From: Patrice Freydiere Newbie http://www.it.bton.ac.uk/staff/je/adacraft/. Date: Thu, 30 Oct 2003 23:22:01 +0100 Also look at the following portal sites, Subject: Re: Applications written in Ada From: Ludovic Brenta which will direct you to additional re- Newsgroups: comp.lang.ada sources: Date: 14 Sep 2003 23:29:02 +0200 My personal img server contribution. Subject: Re: Ada for a programming newb. http://www.adaic.com http://imgsvr.tuxfamily.org. [See also Newsgroups: comp.lang.ada http://www.adapower.com "Imgsvr - Personal Picture Web Server" earlier in this AUJ issue. -- dc] > I was wondering if Ada would be suit- http://www.adaworld.com able for me. I've started to learn Java Hope this helps. From: Martin Dowie (and I actually understood most of it) but just gave up cause I found more in- Why Program in Ada? Date: Fri, 31 Oct 2003 13:18:02 UTC teresting things to do and it seemed that Subject: Re: Applications written in Ada I never could make time for it. But now Newsgroups: comp.lang.ada From: Stephane Richard I've got plenty of time and want to learn Off the top of my head: to program again. There doesn't seem to Date: Thu, 18 Sep 2003 16:46:42 GMT 1. MediaGuard from Canal+ is an Ada be as much documentation (so I'm a lit- Subject: Re: Pourquoi programmer en Ada? application used for secure pay-per-view. tle confused as to how one'd go about Newsgroups: fr.comp.lang.ada learning it) as in some other languages They do the broadcasting using Ada too I [Translated from French. -- dc] believe. [See also "Word-wide / but it is very easy to read and looks MediaOne & Canal+ - TV Head-ends very Pascal-like (I know because I've > I hope that the question in the subject Systems" in AUJ 21.1 (Apr 2000), pp.36- been looking at quite a few languages). does not shock you. I wonder in fact, 37. -- dc] What do you think? regarding this language which I only know a little, what are the convincing 2. Philips Semiconductors con- Programming is inherently difficult. Among other lessons, experienced pro- reasons to use it, as many manufactur- trol/monitors their fabrication plants using ers offer more developed, more sophis- Ada. [See also the "OESM Server" sub- grammers have learned that "the devil is in the details". You may get the general ticated solutions. In other words, what topic in "Ada Web Server" in AUJ 23.2 does Ada bring which would not be in (Jun 2002), pp.71-74. -- dc] picture right, but you may (and indeed will) make small mistakes in the details C++, C#, Java or other more advanced No sources though of course - but then it and your programs will fail as a result. languages? What are its advantages, its wouldn't matter what the language used specificities? Different languages handle this problem was for these things. Companies _rarely_ Here is why I program in Ada. publish source code. differently. Some languages choose to be lax and forgiving to the beginning pro- For "Embedded" systems there's nothing grammers, so as to appear to be easy-go- better than Ada. ing. The price to pay is that they do not Ada in Context High precision clock (1 millionth of a detect your mistakes, and you have to second); very precise contrary to C and look for them yourself when your pro- other languages. On Ada Language gram fails for obscure reasons (which is Improvements called "debugging"). This is for example Multi-tasking integrated into the lan- the case of C and, to a lesser extent, Java. guage, offering much better control of the From: Tom Moran execution of one or more tasks with re- By contrast, Ada is an old, picky lady Date: Wed, 27 Aug 2003 04:46:25 GMT spect to another, including priorities of who reviews your work very closely and Subject: comment: Ada 83-95 the tasks, communication between the tries to point out your mistakes (she was Newsgroups: comp.lang.ada tasks, etc, etc... No language offers this the first programmer in history, so she kind of control. I recently needed to write some utilities to should know a good program from a bad run under 16 bit MSDOS (for data recov- one ). If you choose Ada, you will natu- Very organized and optimal access to low ery of a badly damaged W2K NTFS disk), rally learn to think straight, and to be pre- level functions, especially when com- so I dug out an antique PC-AT class com- cise and systematic. Those are good skills pared to Pascal or Delphi. puter and used its Ada 83 compiler. for a programmer, which you can later Portability of source code to all the plat- I was surprised by the importance of some apply to all programming languages. I forms available, which requires relatively of the "little changes" in Ada 95 vs 83 like contend that an Ada programmer can fewer code changes than with C or others. declaration order requirements, mixing adapt to pretty much any language very named and "others" in aggregate assign- easily, but the converse is not true. If you Ada was created with the aim to offer an ments, limited 'image, and, of course, "use start with Java, the learning may at first ideal language for the development of re- type". seem easier but in fact you will learn less. liable applications (which are not allowed to crash), and it offers all that is necessary From: Stephen Leake I guess it is up to you to decide which style suits you best. [?] to make sure that a program doesn't crash. It detects many errors during com- Date: 29 Aug 2003 12:58:25 -0400 There are intermediates between Java and pilation that other languages (C, Pascal, Organization: NASA Goddard Space Flight Ada. I would list just a few languages Delphi, Modula, and others) cannot detect Center (skates.gsfc.nasa.gov) here, but there are many more that you before the execution of the program [if at Subject: Re: comment: Ada 83-95 may want to explore. all -- dc]. Newsgroups: comp.lang.ada From the most lax to the most strict: I can continue for a long time on why. Yes, Ada 95 is a much better language C, Java, C++, Pascal, Modula-3, Ada. Ada is a superior language, whatever the than Ada 83, in lots of little ways as well "popular" languages say.

Ada User Journal Volume 24, Number 4, December 2003 226 Ada in Context

Stéphane Richard, Senior Software and Subject: Re: Pourquoi programmer en Ada? couple of years now after 15 years of Technology Supervisor Newsgroups: fr.comp.lang.ada playing with Ada. I must confess that my From: Patrice Freydiere Strong typing, it is very often possible not approach to Java has been biased by Ada, Date: Thu, 18 Sep 2003 20:12:15 +0200 to use pointers, legibility of the code, ex- and that bias is for the better. I am sad- Subject: Re: Pourquoi programmer en Ada? cellent source level portability, many li- dened by the great hype over Java when I Newsgroups: fr.comp.lang.ada braries, genericity, a complete reference see the poor quality of the Java reference books that are written in a very shallow For my part, manual, Glade to develop distributed pro- grams. way and make very poor use of Java inter- I find the syntax of Ada very expressive, faces (like an Ada specification file) and it brings a great legibility. It is thus not [...] In the literature one often says: once very few clues as to how to create Java necessary to be a specialist to be able to compiled, an Ada program contains fewer software so that it is extendable. reread Ada code, however technical it is. bugs than a program developed in C, C++, Java, because the compiler is very If you want to see a great example of bad Strongly typed language. strict. software take a look at Java's API and its LinkedList class, which by definition of Ada gives much control over staticity and In addition the denomination "Ada com- its methods MUST be inefficient, yet so dynamicity of the data structures. (Ada piler" conforms to a standard. Whereas many Java books use it. makes it possible to go very far "stati- the C compilers implement one or more cally"..) standards more or less. Dr. John (Jack) Beidler, Professor of Computer Science, Computing Sciences Ada makes it possible to develop in a On Generics in Java and Department, University of Scranton, functional or an object-oriented way Scranton, PA whenever that helps. Contributions from Ada Ada is a very portable language, available On Java, Ada and C for ESA on many platforms. From: Gabe Date: Wed, 8 Oct 2003 13:19:25 -0700 Projects Ada allows to create high level abstrac- Subject: Question about historical fairness tions, and thus, allows re-use of code and To: [email protected] From: Stephane Richard very thorough functionality. I am a huge fan of Ada. Unfortunately Date: Wed, 08 Oct 2003 10:32:03 GMT The development of portable multi-task- right now I am working in Java. I heard Subject: Re: a good book to start with? ing applications is a real pleasure!! rumblings that the project I am working Newsgroups: comp.lang.ada on will have to be rewritten to take ad- PS: A good example is to look at what > [...] Is ESA (European Space Agency) ACT-Europe does. They do not have the vantage of generics (and thus have to wait until JDK 1.5 realistically - which is an- still basing its core software develop- labour force of Microsoft... Nevertheless ments on Ada? I read somewhere [...] their achievements are impressive: com- other release of the Java language, some- time in the future). My first thought was - that Java is emerging as the next ESA's pilers, XML, "Ada-ptation" of graphic standard language? interfaces... And the Ada contributors are "when will Java catch up with Ada?" I really impressive technically speaking; -) hesitated to say this to anyone else for a [...] I'm not one to bring down languages few reasons, but the first was because I for the good of other languages. But I From: [email protected] (Jean-Etienne feel it isn't possible to get an unbiased can't help but wonder how precise they Doucet) history of computer languages. I would want (or need) their realtime applications Date: 19 Sep 2003 08:09:46 GMT like to see what contributions were made if they are considering Java. Sure Java Organization: LAAS/CNRS, Toulouse, by whom at what time - and honestly - has a form of Task and Task control France without hype, spin, marketing, or other mechanism, but well at least on my PC Subject: Re: Pourquoi programmer en Ada? lies. Does anyone know if this exists? time differential benchmarks I've done Newsgroups: fr.comp.lang.ada [See also "Thomas Bergin et al - History (for a music application project of mine, And what to say about GPS (Gnat of Programming Languages" earlier in so nothing mission critical per se, how- Programming System)? Once you tried it, this AUJ issue. -- dc] ever music is all about time precision). it is difficult to leave it aside. (That's my Ada came out much more stable and case...) Also, it would be interesting to see just regular than Java as far as timelaps cal- what contributions Ada made, because [Patrice Freydiere responded: -- dc] culation and the execution of tasks during everything I hear now for why Java is the waiting of delays (as in to end a note Indeed, I use it since some time and I find good are exactly the same things I heard or play the next note on a track or multi- it very well done!!! And of an astonishing many years ago that made Ada good, only ple tracks). simplicity for development, compilation this time you'd be the fool to think they and debugging!! I gave up Emacs for weren't true. So precision wise if it's what they want, they might want to do some serious GPS... (but I continue to use Emacs for From: Jack Beidler other things). benchmarks. Depends on why they need it I suppose. From: Gautier de Montmollin Date: Wed, 8 Oct 2003 18:31:27 -0400 Subject: Re: Question about historical Me well I simply prefer Ada for more Date: Thu, 18 Sep 2003 23:47:44 +0200 fairness than one reason. Mainly because it still Subject: Re: Pourquoi programmer en Ada? To: [email protected] detects more errors at compile time than Newsgroups: fr.comp.lang.ada Java can, which means that by the time Take a look at the name of some of the your code compiles, there's: 1. a much Clear syntax, modularity, strong typing, people on the Generic Java committee and higher chance it will run, 2. a much professionalism, thorough standardization you will see a very definite Ada influence smaller debugging time from the coding -> thorough portability, non-proprietary. - e.g. Norm Cohen. to the end of debugging phase. The question should not shock, on the Actually, Generic Java is closer than you It's designed with software engineering in contrary! But in fact, who said that (for think, there is a beta version and its pretty mind and as such offers many advantage example) C++ was more advanced?! solid. Because of the obvious syntactic for large scale application development as From: Jean-Yves Lenhof relationship between Java and C++, the far as a programming language goes. notion for Java generics is analogous to Date: Tue, 23 Sep 2003 22:57:10 +0200 C++ generics. I've been using Java for a

Volume 24, Number 4, December 2003 Ada User Journal Ada in Context 227

Don't get me wrong, C++, Java probably Embedded.com on Love- Date: Mon, 18 Aug 2003 14:48:48 -0600 have their specific place or they wouldn't Subject: FW: What about Ada? be what they are today (popular) but from Hate Relationship with C To: [email protected] what I'm seeing, I don't think all the right From: [email protected] (Volkert) > One recent article about the "state" of reasons went into making them as popular Date: 21 Oct 2003 07:39:19 -0700 Ada use: as they are today. A lot of the reasons Subject: My love-hate relationship with C http://www.sei.cmu.edu/publications/do aren't based on language capacities, but Newsgroups: comp.lang.ada cuments/03.reports/03tn021.html on sheer popularity (a lot of companies go with Java and C++ because other compa- Read Mr. Ganssles Embedded Pulse: [A technical note by Jim Smith, entitled nies went with Java and C++) that makes http://www.embedded.com/showArticle.jht "What About Ada? The State of the Java and C++ popular, but does it make ml?articleID=15306089 Technology in 2003". Based on frag- them better, as languages? I think not . [The article is entitled "My love-hate mentary and outdated information the author paints a "bleak future for Ada"... -- That was my most humble opinion relationship with C" and starts with: "C, the most popular of all embedded dc] Stéphane Richard, "Ada World" languages, is an utter disaster, a bizarre FYI. I've already corrected his misstate- Webmaster, http://www.adaworld.com hodgepodge meant to give the ments about the Air Force Academy and From: [email protected] (Colin programmer far too much control over the West Point (we still use Ada), and he in- Paul Gloster) computer. C++ isn't much better. The dicated he would publish a correction. Date: 14 Oct 2003 15:58:21 GMT languages are designed to provide infinite Martin C. Carlisle, Associate Professor Organization: Dublin City University flexibility, to let the developer do any- and Advisor-in-Charge, Department of (DCU) thing that can be done on the computer." Computer Science, United States Air Subject: Re: a good book to start with? and "But no language should allow stupid Force Academy Newsgroups: comp.lang.ada mistakes like buffer overruns or unde- tected array overflows." -- dc] From: Rod Chapman Support for multiple interface inheritance may be one of the main reasons why Java From: [email protected] (Mike Silva) Date: Tue, 19 Aug 2003 16:02:06 +0100 may be a serious rival to Ada for future Date: 21 Oct 2003 18:30:28 -0700 Subject: The "What about Ada?" article... ESA Attitude and Orbit Control Systems Subject: Re: My love-hate relationship with To: [email protected] ... C Newsgroups: comp.lang.ada I've also responded to the author, pointing http://control.ee.ethz.ch/~pasetti/RealTim out some of the recent Ada-related articles eJavaFramework/doc/index.html Way to go, Jack. He's expressed his frus- we've written (you know those "minor" [Note that multiple interface inheritance is tration with C before, but never like this. journals like IEEE Software, IEEE scheduled for inclusion in Ada 2005: Some of the responses are just so typical Transactions, and CrossTalk... ), the http://www.ada-auth.org/cgi-bin/cvsweb.cgi [cf. "Reader Feedback" on the web-site -- SPARK Book, the STC Conference (I /AIs/AI-00251.TXT "Abstract Interfaces to dc]. Stop whining. Learn discipline. counted 5 Ada compiler vendors plus provide Multiple Inheritance"; see also Don't limit my technical prowess. Cars Praxis and PolySpace there in 2003...) and "Multiple Inheritance in Ada95" in AUJ can hurt people, should we stop driving a few other matters... 23.1 (Mar 2002), p.32. -- dc] too? (Talk about a broken analogy!) Not [See many announcements in this and From: Jacob Sparre Andersen stated, but sensed: wha'samatta, ain't you previous AUJ issues. -- dc] MAN enough for C? What surprises me, though, are the number of responses that Rod Chapman, SPARK Team, Praxis Date: Thu, 09 Oct 2003 20:44:30 +0200 Critical Systems Organization: CRS4, Center for Adv. agree with him. Studies, Research and Development in From: Wes Groleau From: Alan and Carmel Brain Sardinia Subject: Re: a good book to start with? Date: Tue, 21 Oct 2003 20:09:58 -0500 Date: Tue, 19 Aug 2003 22:39:55 +1000 Newsgroups: comp.lang.ada Subject: Re: My love-hate relationship with Subject: Re: FW: What about Ada? To: [email protected] [...] According to my sources (inside a C company with ESA contracts), all new Newsgroups: comp.lang.ada At the risk of "preaching to the con- contracts come with a C mandate. I have > Reader feedback shows 58 times the verted"... I think he's right with his con- had the pleasure of hearing quite a bit of word "Ada" clusions. complaints about not being allowed to use I liked this one (edited): "... haven't seen The future belongs to Visual Basic, Mi- Ada. an article on Ada for years! ... Maybe crosoft, Java, Worms, Virusses, Patches, [And from a later message: -- dc] Ada based projects don't require calling in buffer-overflows and the consequent outside help to save the day." - James weekly and monthly Software Cherno- > Is there any logic reason for such a byls. diktat? Munn That way lies guaranteed employment for I haven't been told of any, but there is at From: [email protected] (Volkert) Date: 22 Oct 2003 11:40:58 -0700 software engineers doing maintenance - least one argument in favour: it limits increasingly in India these days. how many programming languages ESA's Subject: Re: My love-hate relationship with code reviewers have to know. But so C Unless and until packs of trained attack- would mandating use of Ada or Visual Newsgroups: comp.lang.ada lawyers go after the software industry for Basic. Anyway, when I read some of the re- its criminal negligence in not using ap- propriate languages and techniques for Considering that ESA is still paying for sponses to the article I feel that there is a strong desire for some language like Ada. both safety-critical and non-safety-critical the development of Ada libraries for their work, we're stuck with a worsening situa- next generation of satellites, it really On Ada and Mainstream tion. I used to think that the hard empiri- seems weird. And as a tax payer in an cal evidence of a language's superiority in ESA member country, I am rather worried Technology productivity would help. But while that's about the way they spend my tax-money. From: Carlisle Martin C Dr USAFA/DFCS necessary, it's not sufficient.

Ada User Journal Volume 24, Number 4, December 2003 228 Ada in Context

It's not about being the cheapest and best, More about Ada From: Randy Brukardt it's about being the most popular. [...] Suggestions on how to get us out of this From: Jean-Pierre Rosen Date: Mon, 22 Sep 2003 16:15:51 -0500 hole welcome. Subject: Re: Ada the acronym - amusement From: Robert C. Leif Date: Mon, 1 Sep 2003 14:41:49 +0200 Newsgroups: comp.lang.ada Date: Tue, 19 Aug 2003 08:06:37 -0700 Organization: Adalog There is an Ada in Wisconsin, too, but it Subject: Re: FW: What about Ada? Subject: More about Ada... is an unincorporated community between To: [email protected] Newsgroups: comp.lang.ada Howards Grove and Kiel. (That's near my From a simple business marketing point See http://www.catholic.org/saints/ hometown, which is why I know this - my of view, Jim Smith is correct. Unfortu- saint.php?saint_id=1106 6th grade teacher lived there.) You can find it on a map (at least on the Rand nately, if US DoD continues to use this [Info on the Catholic saint Ada who lived McNally Road Atlas) by following hwy type of reasoning, it will purchase the in the 7th century. -- dc] cheapest parts made in China or better yet 42 northwest out of Sheboygan. in the third world for equipment including Ada Cities the weapons systems. Unfortunately this On Tricks and Techniques, article has no significant mention of soft- From: Rod Haper Bugs and Features ware engineering. Unfortunately, the SEI in this case has behaved as do many Gov- Date: Sat, 20 Sep 2003 06:21:27 GMT From: Frank J. Lhota ernment contractors and produced propa- Subject: Re: Ada the acronym - amusement ganda instead of an engineering study. A Newsgroups: comp.lang.ada Date: Wed, 30 Jul 2003 18:47:13 GMT Subject: Re: Non-philosophical definition of study would have compared Ada versus US placename data from the MIT other languages in terms: of the cost of Eiffel? Geograpic Nameserver Newsgroups: comp.lang.ada development and maintenance, the defect http://www.mit.edu:8001/geo levels in the products, and the reliability > As you said it is a trick. Perhaps I of the products. Placename State County/Parish should have said "technique" instead. Lat/Long I like your suggestion about trained Can you clarify the difference between attack-lawyers. I believe we should give a Ada County Idaho Ada the terms "trick" and "technique"? Is free seminar for these lawyers and pro- 43:26:00 N 116:44:00 W "technique" necessarily something else vide expert witnesses. A few billion dol- Ada Alabama Montgomery other than a dressed-up trick? lars in malpractice judgments will greatly 32:06:19 N 086:16:35 W increase the popularity of Ada. I might This reminds me of a cartoon I saw at the note that there have been two major Ada Arkansas Conway Alsys Waltham office. The top part of this problems with promoting the use of Ada. 35:06:25 N 092:52:24 W cartoon has an anthropomorphized, fat, 1) The Ada community includes few if Ada Kansas Ottawa ugly insect wearing grubby clothes and a any entrepreneurs that are interested in 39:09:05 N 097:53:20 W bowler, and smoking a cigar. Beneath this commercial products. 2) The US DoD unappealing anthropod is the caption Ada Louisiana Bienville "BUG". The bottom part of the cartoon goofed when it did not tell NSF to do its 32:32:45 N 093:08:25 W job and promote software engineering in- shows exactly the same insect, but with a cluding Ada and then did not tell Con- Ada Michigan Kent few vital differences. In place of the gress of the dire consequences that would 42:57:15 N 085:29:20 W bowler, he is wearing a top hat. In place result if NSF did not do its mandated job. of the cigar, he now has a cigarette holder. Ada Minnesota Carlton/Norman In place of the grubby clothes, the anthro- 47:17:59 N 096:30:54 W pod is wearing a tuxedo. The caption un- Ada Ohio Hardin der this second insect drawing reads 40:46:10 N 083:49:22 W "FEATURE".

Volume 24, Number 4, December 2003 Ada User Journal 230 Conference Calendar This is a list of European and large, worldwide events that may be of interest to the Ada community. Further information on items marked ♦ is available in the Forthcoming Events section of the Journal. Items in larger font denote events with specific Ada focus. Items marked with ☺denote events with close relation to Ada. The information in this section is extracted from the on-line Conference announcements for the international Ada community at: http://www.cs.kuleuven.ac.be/~dirk/ada-belgium/events/list.html on the Ada-Belgium Web site. These pages contain full announcements, calls for papers, calls for participation, programmes, URLs, etc. and are updated regularly.

2004 March 18 2004 Ada-Belgium General Assembly + Technical Presentation: "An Invitation to Ada 2005", ULB, Brussels, Belgium. A technical presentation by Pascal Leroy (IBM France), chairman of the ISO Ada Rapporteur Group March 22-26 3rd International Conference on Aspect-Oriented Software Development (AOSD'2004), Lancaster, UK March 22-26 International Conference on Practical Software Quality Techniques & Testing Techniques (PSQT/PSTT'2004 East), Washington DC, USA March 24-26 8th European Conference on Software Maintenance and Reengineering (CSMR'2004), Tampere, Finland. Topics include: Experience reports (successes and failures); Tools and enabling technologies for evolution, maintenance and reengineering tools; Migration, wrapping and interfacing legacy systems; Dealing with legacy systems towards new technologies; etc. March 25-26 8th IEEE International Symposium on High Assurance Systems Engineering (HASE'2004), Tampa, Florida, USA. Topics include: Formal Methods; Safety analysis, reliability evaluation and enhancement techniques; Fault-tolerant software design; Evolutionary design of complex systems; Software engineering for embedded systems; etc.

March 27-April 04 European Joint Conferences on Theory and Practice of Software (ETAPS'2004), Barcelona, Spain. Event includes: conferences from 29 March to 2 April, 2004, affiliated workshops on 27-28 March and 3-4 April, 2004. Includes a.o the following events: March 27-28 Workshop on Foundations of Unanticipated Software Evolution (FUSE'2004). Topics include: Formal approaches, language concepts and implementation techniques for USE; USE support in programming languages, component models and related infrastructures; Consistency, safety, integrity, constraint enforcement and dependency management issues; etc. April 03 3rd International Workshop on Compiler Optimization Meets Compiler Verification (COCV'2004). Topics include: optimizing and verifying compilation, translation validation, certifying and credible compilation, programming language design and programming language semantics, etc. April 03 Workshop on Software Composition (SC'2004) April 03 4th Workshop on Language Descriptions, Tools and Applications (LDTA'2004) April 04-07 4th International Conference on Integrated Formal Methods 2004 (IFM'2004), Canterbury, Kent, England. April 14-16 9th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'2004), Florence, Italy. Topics include: Tools, environments, and languages for complex systems; Formal methods and approaches to manage and control complex systems; Integration of heterogeneous technologies; Human factors and collaborative aspects; Interoperability and standardization; Systems and software safety and security; Industrial automation, embedded and/or real time systems; etc. April 19-21 11th Annual European Concurrent Engineering Conference (ECEC'2004), Hasselt, Belgium. Topics include: Supporting Technologies; Formal Methods and Techniques; Engineering of

Volume 24, Number 4, December 2003 Ada User Journal Conference Calendar 231

embedded systems (HW/SW co-design, specification languages, ...); Collaborative CE Environments for Virtual Teams (CORBA based environments, CE languages and tools, Distributed computing environments, ...); Practical Applications and Experiences (Practical solutions, Systematic guide-lines, Pitfalls and success stories, Case studies, pilot projects and experiments, ...); etc. April 19-22 Systems and Software Technology Conference (SSTC'2004), Salt Lake City, Utah, USA April 21-23 5th International Conference on Software Testing (ICSTEST'2004), Duesseldorf, Germany ☺ April 26-30 International Parallel and Distributed Processing Symposium (IPDPS'2004), Santa Fe, New Mexico, USA. Topics include: Applications of parallel and distributed computing; Parallel and distributed software, including parallel programming languages and compilers, operating systems, runtime, middleware, libraries, programming environments and tools for parallel and distributed computing; etc. Includes a.o the following events: ☺ April 26 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS'2004). Topics include: Concepts and languages for parallel and Grid computing (Language interopability, Concurrent object-oriented programming, ...), Supportive techniques for component environments and testbeds (Runtime systems, Compiler techniques,...), etc. April 26 2nd International Workshop on Parallel and Distributed Systems: Testing and Debugging (PADTAD'2004) April 27-29 4rd International SPICE Conference on Software Process Improvement and Capability dEtermination (SPICE'2004), Lisbon, Portugal April 28-30 5th Recent Object-Oriented Trends Conference (ROOTS'2004), Bergen, Norway. Deadline for early registration: March 22, 2004

May 02-06 Conference on Design, Analysis, and Simulation of Distributed Systems (DASD'2004), Washington DC, USA. Topics include: Application oriented methods and tools; Aspects of real- time systems; Case studies, best practices and lessons learned; Fault tolerance / reliability; Modeling of distributed systems including analysis and simulation; New formal concepts and methods for validation and testing; Security and safety; Support for HW/SW codesign; etc. ☺ May 12-14 7th IEEE International Symposium on Object-oriented Real-time distributed Computing (ISORC'2004), Vienna, Austria May 14-17 International Conference on Computational Science and its Applications (ICCSA'2004), Assisi, Italy. Topics include: Parallel and Distributed Computing; Reliability Engineering; Software Engineering; etc.

☺ May 23-28 26th International Conference on Software Engineering (ICSE'2004), Edinburgh, Scotland, UK. Includes a.o the following events: May 24 International Workshop on Software Engineering for High Performance Computing System Applications (HPCS'2004) May 24 2nd Workshop on Software Quality (WoSQ'2004). Topics include: Software Product Evaluation and Certification; Software Quality Education; Methods and Tools for Quality Assurance; Quality Metrics - in-process quality and customer views of quality; Software Quality for Object-Oriented development; Building quality into software products; Combining Quality and Rapid Development; etc. May 24-25 7th Workshop on Component-Based Software Engineering (CBSE7) ☺ May 25 4th Workshop on Open Source Software Engineering (OSSE'2004) ☺ May 25 Workshop on Software Engineering for Automotive Systems (ASE'2004). Topics include: High-level Languages, Specification, SW Architectures and Communication Infrastructures, etc. ☺ May 25 Twin Workshops on Architecting Dependable Systems (WADS'2004)

Ada User Journal Volume 24, Number 4, December 2003 232 Conference Calendar

May 24-25 8th International Conference on Evaluation and Assessment in Software Engineering (EASE'2004), Edinburgh, UK. Co-located with ICSE'2004. Deadline for submissions: April 12, 2004 (posters) May 24-25 3rd International Workshop on Distributed Event-Based Systems (DEBS'2004), Edinburgh, UK. Co-located with ICSE'2004 May 24-28 11th IEEE Symposium and Workshops on the Engineering of Computer Based Systems (ECBS'2004), Brno, Czech Republic ☺ May 25-28 10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'2004), Toronto, Canada. Topics include: QoS issues in systems integration, software engineering, programming languages, system development tools, etc. Special focus is on embedded and real-time applications. May 26-28 10th International Workshop on Future Trends of Distributed Computing Systems (FTDCS'2004), Suzhou, China. Topics include: Real-time, Pervasive, and Embedded Systems; Security and Trust in Distributed Systems; Highly Available Distributed Systems; Novel Distributed Applications; etc. June 06-10 5th International Conference on eXtreme Programming and Agile Processes in Software Engineering (XP'2004), Garmisch-Partenkirchen, Germany June 07-09 4rd International Conference on Computational Science (ICCS'2004), Krakow, Poland. Includes a.o the following event: ☺ June 07-09 Workshop on Practical Aspects of High-level Parallel Programming (PAPP'2004). Topics include: high-level parallel language design, implementation and optimisation; applications in all fields of high-performance computing (using high-level tools); benchmarks, experiments using such languages and tools; etc.

June 11-13 ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation (PLDI'2004), Washington, DC, USA. Includes a.o the following event: ☺ June 11-13 ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'2004). Topics include: Programming languages for embedded applications; Real-time UML; Object-oriented modeling and design; Validation and verification techniques for embedded software; Real-time scheduling analysis; Exception and interrupt handling for real-time; Software design for multiprocessor embedded systems; Concurrent+distributed embedded environments/runtime systems; Support for partitioning; etc. June 12-15 4th IEEE/IFIP Working Conference on Software Architecture (WICSA'2004), Oslo, Norway. Co-located with ECOOP'2004 ♦ June 14-18 9th International Conference on Reliable Software Technologies - Ada- Europe'2004, Palma de Mallorca, Spain. Sponsored by Ada-Europe, in cooperation with ACM SIGAda (approval pending) and Ada-Spain. ☺ June 14-18 18th European Conference on Object-Oriented Programming (ECOOP'2004), Oslo, Norway. Topics include: Analysis and design methods; Concurrent, real-time, and parallel systems; Design patterns; Distributed and mobile systems; Language design and implementation; Programming environments; Versioning, compatibility, software evolution; etc. Deadline for submissions: April 1, 2004 (demos, posters, exhibits, practictioners reports). Includes a.o the following event: June 14 Workshop on Communication Abstractions for Distributed Systems (CADS'2004). Topics include: Embodiments of communication abstractions, such as middleware services, communications-centric programming languages, communication frameworks, and communication components, such as run-time system and protocol evolution; etc. Deadline for position paper submissions: April 5, 2004

Volume 24, Number 4, December 2003 Ada User Journal Conference Calendar 233

☺ June 14 ECOOP2004 - Workshop on Practical Problems of Programming in the Large (PPPL'2004). Topics include: Structuring systems with large amounts of classes/objects/components; Software Architecture; Software Composition; Refactoring, Software Evolution and Migration; Enterprise Application Integration; etc. Deadline for position paper submissions: April 5, 2004 ☺ June 15 ECOOP2004 - Workshop on Programming Languages and Operating Systems (PLOS'2004). Topics include: type-safe languages for OS; domain- specific languages for OS development; language support for OS verification, testing, and debugging; etc. Deadline for position paper submissions: April 5, 2004 June 14-18 2nd International Conference on Software Process Improvement (ICSPI'2004), Washington, DC, USA. Deadline for submissions: March 20, 2004 (papers, presentations) June 21-22 Working Conference on Model Driven Architecture: Foundations and Applications (MDAFA'2004), Linköping, Sweden. Includes special session on UML Profiles for Embedded and Real-Time Systems. Deadline for submissions: April 17, 2004 June 21-24 2004 International Multiconference in Computer Science and Computer Engineering, Las Vegas, Nevada, USA. Includes conferences on: Parallel and Distributed Processing Techniques and Applications (PDPTA), Software Engineering Research and Practice (SERP), Embedded Systems and Applications (ESA), etc. Includes a.o the following event: June 21-24 International Conference on Software Engineering Research and Practice (SERP'2004). Topics include: Programming, Software Maintenance, Distributed Systems, Software Quality, etc. June 27-July 02 29th Annual USENIX Technical Conference (USENIX'2004), Boston, Massachusetts. Topics include: Distributed and parallel systems, Embedded systems, Reliability and availability, etc., plus FreeNix Track on free and open source software. ☺ June 28-July 01 DAta Systems In Aerospace (DASIA'2004), Nice, France. DASIA'2004 was moved from May 24-27 in Istanbul, Turkey, to May 28 to July 1 in Nice, France.

June 28-July 01 International Conference on Dependable Systems and Networks (DSN'2004), Florence, Italy. Deadline for submissions: April 26, 2004 (student forum, fast abstracts). Includes a.o the following event: ☺ June 29 Twin Workshops on Architecting Dependable Systems (DSN 2004 WADS) ☺ June 30-July 02 16th Euromicro Conference on Real-Time Systems (ECRTS'04), Catania, Italy. Topics include: embedded real-time systems; real-time control applications; frameworks and tools for development and analysis; software architectures and languages; design, scheduling, timing and execution-time analysis; validation; etc.

July 05-09 8th International Conference on Software Reuse (ICSR-8), Madrid, Spain. Theme: "Software Variability Management for Reusable Software". Topics include: Software generators and domain- specific languages; Quality aspects of reuse, e.g. security and reliability; Success and failure stories of reuse approaches from industrial context; etc. ☺ July 07-09 10th International Conference on Parallel and Distributed Systems (ICPADS'2004), Newport Beach, California. Topics include: Parallel and Distributed Systems, Parallel and Distributed Applications and Algorithms, Distributed Operating Systems, Security and Privacy, Dependable Computing and Systems, Real-Time Systems, etc. July 12-13 Foundations of Computer Security (FCS'2004), Turku, Finland Affiliated with LICS'2004 and ICALP'2004. Topics include: Formal specification, Language-based security, Static analysis, etc. Deadline for submissions: April 2, 2004 ☺ July 12-15 OMG Annual Workshop on Real-Time and Embedded Distributed Object Computing, Washington, DC, USA. Topics include: Applying CORBA in any real-time or embedded system; High-confidence, high-availability or safety-critical CORBA applications; Security considerations in real-time or embedded CORBA deployments; Real-Time & Embedded Specifications and

Ada User Journal Volume 24, Number 4, December 2003 234 Conference Calendar

Standards; Real-Time & Embedded Product Issues; Real-Time and Embedded Advanced R&D Topics, such as advanced scheduling techniques and high-level real-time programming models; etc. Deadline for abstract submissions: March 19, 2004 July 12-16 10th International Conference on Algebraic Methodology And Software Technology (AMAST'2004), Stirling, Scotland, UK ☺ July 25-28 23rd Annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC'2004), St. John's, Newfoundland, Canada. Topics include: all areas of distributed systems; any aspect of distributed computing, including systems, design, verification, implementation, application, ...; implementation, analysis, evaluation, and deployment of real systems; intersection of security and distributed computing; etc. Deadline for submissions: May 1, 2004 (nominations for Edsger W. Dijkstra Prize in Distributed Computing) August 19-20 3rd International ACM-IEEE Symposium on Empirical Software Engineering (ISESE'2004), Redondo Beach, CA, USA. Topics include: strengths and weaknesses of software engineering technologies; empirical studies of software processes and products; evaluation and comparison of techniques and models (cost estimation, analysis and design methods, testing); reports on benefits derived from using certain technologies; experience management; etc. Deadline for submissions: May 15, 2004 (posters) August 19-20 9th Australian Workshop on Safety Related Programmable Systems, Brisbane, Australia. Theme: "Transport - Can we trust programmable technology?" Deadline for submissions: April 16, 2004 (papers)

August 26-28 11th International Static Analysis Symposium (SAS'2004), Verona, Italy. Co-located with LOPSTR'04, PEPM'04, and PPDP'04. Deadline for submissions: April 4, 2004 August 27 WCC04 - Workshop on Architecture Description Languages (WADL'2004), Toulouse, France. Part of the IFIP World Computer Congress 2004. Topics include: Components, Connectors, Composition; Semantics, Formalization; Verification, Simulation, Test; Tools and Development Environments; Standardization; Industrial Projects. ☺ August 31-September 03 10th International Conference on Parallel and Distributed Computing (Euro- Par'2004), Pisa, Italy. Topics include: Support tools and environments; Compilers for high performance; Distributed systems and algorithms; Parallel programming models, methods and languages; etc.

August 31-September 03 30th EUROMICRO Conference (EUROMICRO'2004), Rennes, France September 06-10 12th IEEE International Requirements Engineering Conference (RE'2004), Kyoto, Japan. Deadline for submissions: April 16, 2004 (doctoral symposium), April 23, 2004 (research demonstrations) September 08-10 4th International Conference on Quality Software (QSIC'2004), Braunschweig, Germany. Topics include: economics of software quality, review, inspection and walkthrough, reliability, safety and security, quality tools, formal methods, static and dynamic analysis, validation and verification, distributed systems, embedded systems, enterprise applications, etc. Deadline for submissions: March 19, 2004 (papers) September 11-17 20th IEEE International Conference on Software Maintenance (ICSM'2004), Chicago, IL, USA. ☺ September 15-17 17th International Conference on Parallel and Distributed Computing Systems (PDCS'2004), San Francisco, California, USA. Topics include: Reliable Distributed Computing; Languages, Compilers, and Operating Systems; Libraries and Programming Environments; Software Development, Services, Support, Tools; Middleware for Parallel and Distributed Computing; Embedded Systems; Parallel and Distributed Applications; etc. Deadline for submissions: March 31, 2004 (session proposals), April 9, 2004 (papers), May 1, 2004 (tutorials) September 20-22 5th Argentine Symposium in Software Engineering (ASSE'2004), Córdoba, Argentina. Topics include: Software Quality; Object Oriented Technology and Theory; Design Patterns; Reuse; Software Understanding; Maintenance and Reverse Engineering; Reliability, Safety and Security; Formal methods; Tools and Development Environments; Education in software engineering;

Volume 24, Number 4, December 2003 Ada User Journal Conference Calendar 235

Software Engineering Techniques for Challenging Application Areas such as Distributed Systems, Real-Time Systems, etc. Deadline for paper submissions: April 1, 2004 September 20-24 8th International IEEE Enterprise Distributed Object Computing Conference (EDOC'2004), Monterey, California, USA. Topics include: Use and enhancement of middleware platforms; Practical experiences with enterprise distributed object computing; etc. Deadline for submissions: March 19, 2004 (papers), April 19, 2004 (workshop submissions) September 20-25 19th IEEE International Conference Automated Software Engineering (ASE'2004), Linz, Austria. Deadline for submissions: April 9, 2004 (papers), May 7, 2004 (doctoral symposium) ☺ September 21-24 23rd International Conference on Computer Safety, Reliability and Security (Safecomp'2004), Potsdam, Germany. Topics include: Safety Foundations (Fault Tolerance; Distributed and Real-time Systems; Maintenance; Reliability; Formal Methods; Risk Analysis; Open Source Software and Safety; Standards, Guidelines and Certification; Commercial-Off-The- Shelf; Verification, Validation and Testing; ...); Safety Applications (Aerospace and Avionics; Automotive; Medical Systems; Power Plants; Railways; Robotics; Chemical Industry; Process Industry; Programmable Electronic Systems; Accident Reports and Management); Security in Safety-Critical Systems; etc. Deadline for submissions: March 28, 2004 (tutorials) ☺ September 22-24 GI-Jahrestagung Informatik 2004 - Workshop "Automotive Software Engineering & Concepts", Ulm, Germany. Deadline for submissions: April 31, 2004 (workshop submissions) September 22-24 8th Conference on Formal Techniques in Real-Time and Fault Tolerant Systems (FTRTFT'2004), Grenoble, France. Deadline for submissions: April 15, 2004 September 27-30 24th IFIP WG 6.1 International Conference on Formal Techniques for Networked and Distributed Systems (FORTE'2004), Madrid, Spain September 27-30 28th IEEE Annual International Computer Software and Applications Conference (COMPSAC'2004), Hong Kong, China. Theme: "Developing Trustworthy Software Systems". Topics include: Software safety; Trustworthy software; Software fault tolerance; High performance software; Component-based software development; Design patterns; Software certification; Software standards; Software engineering education; Distributed systems; Embedded systems; Enterprise systems; High dependable systems; etc.

☺ October 04-08 18th International Symposium on DIStributed Computing (DISC'2004), Amsterdam, Netherlands. Topics include: distributed programing languages; distributed applications; specification, semantics, and verification of distributed systems; fault-tolerance of distributed systems; cryptographic and security protocols for distributed systems; etc. Deadline for submissions: May 15, 2004 ♦ October 07-08 Ada-Deutschland Tagung 2004, Stuttgart, Germany. Co-located with the Automotive - Safety and Security 2004 Workshop, October 6-7, 2004. Topics include (in German): Methoden und Werkzeuge für zuverlässige Softwaresysteme; Beherrschung der Komplexität in SW-Projekten; UML Profile für zuverlässige Software; Vorgehensmodelle und Lifecycle Management von Systemen; Echtzeitsysteme mit Ada; Sichere Software mit Ada; Ravenscar und weitere Sprachprofile; Erfahrungsberichte über Produktivität, Performance und Kosten in Ada-Projekten; Interoperabilität von Ada und anderen Programmiersprachen; Ada in der Ausbildung; etc. Deadline for submissions: May 15, 2004 October 11-15 7th International Conference on the Unified Modeling Language (UML'2004), Lisbon, Portugal. Deadline for submissions: March 21, 2004 (abstracts), March 31, 2004 (submissions), July 19, 2004 (workshop papers) October 18-22 ACM/IFIP/USENIX International Middleware Conference (Middleware'2004), Toronto, Ontario, Canada. Topics include: Distributed real-time and embedded middleware platforms; Reliable and fault-tolerant middleware platforms; Applications of middleware technologies, including telematics, command and control, avionics, and e-commerce; Novel paradigms, APIs, and languages for distributed systems; Impact of emerging Internet technologies and standards on

Ada User Journal Volume 24, Number 4, December 2003 236 Conference Calendar

middleware platforms; etc. Deadline for submissions: March 30, 2004 (abstracts), April 6, 2004 (research & work in progress papers), TBA (posters), March 30, 2004 (workshops), May 11, 2004 (tutorials) ☺ October 24-28 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'2004), Vancouver, Canada. Topics include: object technology and its offshoots. Deadline for submissions: March 19, 2004 (technical papers, Onward! submissions, practitioner reports, tutorials, panel proposals, workshop proposals, DesignFest(R) proposals, and educators' symposium), July 2, 2004 (posters, demonstration proposals, and Doctorial Symposium and Student Volunteers submissions) October 24-28 3rd International Conference on Generative Programming and Component Engineering (GPCE'2004), Vancouver, Canada. Topics include: Generative techniques for Product lines and architectures, Embedded systems, etc.; Component-based software engineering (Reuse, distributed platforms, distributed systems, evolution, analysis and design patterns, development methods, formal methods); Integration of generative and component-based approaches; Industrial applications; etc. Deadline for submissions: March 19, 2004 (papers, workshops), April 30, 2004 (practitioners, tutorials), July 2, 2004 (demonstrations) October 31-November 06 ACM SIGSOFT 2004 12th International Symposium on the Foundations of Software Engineering (FSE-12), Newport Beach, California, USA. Topics include: Component-Based Software Engineering; Empirical Studies of Software Tools and Methods; Generic Programming and Software Reuse; Software Engineering and Security; Software Engineering Tools and Environments; Software Metrics; Software Reliability Engineering; Software Safety; Specification and Verification; etc. Deadline for submissions: March 24, 2004 (abstracts), March 29, 2004 (papers), April 15, 2004 (workshops) November 03-05 15th IEEE International Symposium on Software Reliability Engineering (ISSRE'2004), Saint- Malo, Bretagne, France. Theme: "Achieving Software Dependability through Model-Driven Engineering". Deadline for submissions: April 2, 2004 (abstracts), April 18, 2004 (regular papers), May 1, 2004 (tutorials), July 1, 2004 (industry practice), July 10, 2004 (student papers, fast abstracts) ♦ November 14-18 2004 ACM SIGAda Annual International Conference (SIGAda'2004), Atlanta, Georgia, USA. Topics include: safety and high integrity issues, real-time and embedded applications, Ada & software engineering education, Ada in other environments such as XML and .NET, Ada and other languages, metrics, standards, analysis, testing, validation, and quality assurance, etc. Deadline for submissions: May 2, 2004 (technical articles, extended abstracts, experience reports, workshops, panels, and tutorials) November 22-26 John Robinson & Associates - Public Ada Programming Course, Cheltenham, UK. A practical course with two streams covering Ada 83 and Ada 95. ☺ December 05-08 25th IEEE Real-Time Systems Symposium (RTSS'2004), Lisbon, Portugal. Topics include: QoS support; Real-time systems middleware; Security and survivability; Real-time and dependability; Compiler support; Embedded operating systems; Software engineering; RT programming languages; Scheduling; Formal methods; Case-studies; etc. Deadline for submissions: May 1, 2004 December 06-08 6th Symposium on Operating Systems Design and Implementation (OSDI'2004), San Francisco, California. Topics include: distributed systems, embedded systems, etc. Deadline for paper submissions: May 14, 2004 December 10 Birthday of Lady Ada Lovelace, born in 1815. Happy Programmers' Day! 2005 April 02-10 European Joint Conferences on Theory and Practice of Software (ETAPS'2005), Edinburgh, Scotland, United Kingdom. Event includes: conferences from 4-8 April, 2005, satellite events on 2-3 and 9-10 April, 2005

Volume 24, Number 4, December 2003 Ada User Journal 242 12th International Real-Time Ada Workshop Brian Dobbing1, John Barnes2, Miguel Pinho3 1 Praxis Critical Systems Ltd, 20 Manvers Street, Bath BA1 1PX email: [email protected]

2 John Barnes Informatics, 11 Albert Road, Caversham, Reading RG4 7AN email: [email protected]

3 ISEP, Polytechnic Institute of Porto, Rua Dr. Ant. Ber. Almeida 431, 4200-072 Porto email: [email protected]

Abstract the language that relate to real-time or high integrity systems. The 12th International Real-Time Ada Workshop was held in northern Portugal. The main focus was on developing proposals that relate to real-time or high- integrity systems for the Amendment to Ada that is scheduled for 2005. The workshop was very successful both in refining existing proposals, and in identifying important new ones. The delegates also had a thoroughly enjoyable time, and are very grateful to the organizers Miguel Pinho and Tullio Vardanega for all their efforts Keywords: Real-Time Ada. 1 Introduction The 12th International Real-Time Ada Workshop1 was held in the beautiful setting of Viana do Castelo in northern th th Portugal between 15 and 19 September 2003. The location was the Pousada Monte de Santa Luzia (Figure 1) Figure 2. Overlooking the Lima River and the City. situated near the top of a hill above the town, with breathtaking views over dense trees, past the medieval 2 Fun Times church, and across to the Lima River and the Atlantic ocean The first big issue to be addressed on arrival at Porto (Figure 2). airport was one of spatial management. There was no great difficulty in getting six into Miguel Pinho’s people carrier, but the luggage space was woefully inadequate, requiring the application of elaborate compacting garbage collection algorithms before the rear door could be closed. This allocation of space however did not accommodate dynamic environmental change, such as the effect of sharp left-hand bends, which resulted in an undesirable reconfiguration and a breach of the firewall between the luggage area and one unfortunate delegate seated in the rear. However, one of us who arrived at a more sensible time Figure 1. Pousada Monte de Santa Luzia. had the luxury of a personal limousine all the way marred only by some sticky roadworks. A “Pousada” is a hotel of a unique Portuguese chain, but the name could also be read as pressing on with Ada (from Having arrived, we were greeted with a luxurious hotel in “pousser” – to press in French). This was particularly lovely grounds that included both an outdoor swimming appropriate, since the greater part of the workshop was pool and a tennis court. With temperatures close to 30°C, devoted to Ada Issues (AIs) for the upcoming revision of the pool and its surroundings proved to be a favourite watering hole for many of the delegates. Some even 1 The workshop agenda, as well as some photos (including managed the exertions of tennis, although one aging the ones presented in this report) and videos are available at delegate was somewhat the worse for wear after playing http://www.hurray.isep.ipp.pt/irtaw2003 only six games. The hotel contained a small snooker table – approximately pool table sized but with the tighter snooker-

Volume 24, Number 4, December 2003 Ada User Journal B Dobbing, J Barnes, M Pinho 243 style pockets – but provided pool balls. Alan Burns once (Figure 4). They included two piano accordian players, a again demonstrated his prowess for this game, obliterating large and small fiddle and an equilateral triangle. There all and sundry. It was particularly galling not only to be were also three pairs of dancers. totally outplayed, but then having to pick up the tab in full for the hire of the table. For those of a more cultural inclination there were very extensive iron-age/Roman ruins within a short stroll of the hotel as well as the Templo-Monumento de Santa Luzia from the roof of which the views were especially stunning. And for the romantics, there were gorgeous sunsets (Figure 3). The new sport of step was also accounted for in the Santa Luzia surroundings, with more than 600 steps all the way down to the city. Going down was easy. Difficult was to come back, particularly if you stop occasionally to have a quick beer.

Figure 4. Regional folk dance. Towards the end of the evening (after a welcome break) they wantonly enveigled members of the workshop at a vulnerably positioned table to dance with them (Figure 5). In particular this enabled one person (who shall remain anonymous) to give a demonstration of the rare but quite famous old-fashioned Portugese Jug Dance. This is particularly applicable to occasions where there is an odd number of dancers. The odd person is enabled to join in the fun by dancing solo with a jug of wine in each hand. Maybe the phrase "A nice pair of jugs" emanates from this traditional dance which is of course performed best when Figure 3. Sunset over the sea. the jugs are of equal size and have handles arranged enantiomorphically. Tullio and Miguel did a wonderful job as hosts in keeping everything running smoothly. Clearly their job was facilitated and the organization duties were easily carried, due to the high spirits and openness of the delegates. The meals were taken at the hotel’s restaurant, which had peculiar timetables. Breakfast was only available after 8 a.m. and lunch was only after 1 p.m., which was quite inadequate for those early riser delegates. Miguel tried hard to ensure that the vegetarians were catered for, although the local culinary skills in this area were limited. One such meal in particular closely resembled a cow pat, and did not smell or taste much better either. Nevertheless, especially for the many carnivores, the food was generally excellent and was accompanied by an appropriate quantity of wine.

On the final evening there was a trip to a local restaurant. Before the meal, a quick stop was made at a local museum, Figure 5. Guess who’s who? where some of the participants were taken through a After the dinner, while some of the participants were taking journey of two local traditions: goldsmith and dresses. a stroll back to the bus, others were lost in the city. They Particularly, goldsmith was very interesting; however it were finally found enjoying una última copa in a local pub. seemed that the interest quickly cooled off when prices The evening ended with a fascinating bus tour of the were inquired. In the meanwhile the rest of the group was locality brought on by the fact that the driver didn't know getting interested in another local tradition: that of beer the best way back to the hotel, since a new roadwork had drinking. popped up (a recurrent event during the travel in Portugal). In the restaurant, after settling in to an initial diet of red wine in traditional blue jugs plus various appetizers we were suddenly invaded by a troupe in traditional dress

Ada User Journal Volume 24, Number 4, December 2003 244 12th International Real-Time Ada Workshop

3 Serious Stuff − the status and experiences of the Ravenscar Profile and any changes that might be needed to the Ravenscar The days were organised into slots of three-and-a-half Guide; hours, comprising the morning session, an extended lunch break, and the afternoon/evening session. This is the − a discussion on the production of new AIs that the normal style for IRTAWs – the extended lunch period workshop supported. providing plenty of time for delegates to unwind and enjoy In this last technical session, a summary of the work the lovely surroundings, so that they would be fully performed within the workshop was made by the session refreshed for the final work session of the day. chair (Figure 9), in order to prioritise the new (and some of the changed) AIs for the revision process. Rapporteur notes for each of these sessions are provided separately.

Figure 6. Relaxing in the middle of a productive session? During the sessions, a small break was always welcomed in order to refuel with some coffee or tea (Figure 6). Eventually, in the course of the workshop, breaks were Figure 8. Some code finally: but was it Ada? Yes! more used for offline collaborative work, to prepare the rest of the session or other sessions of the workshop (Figure 7).

Figure 9. Last technical session: summarizing the work.

Figure 7. Breaks were also for collaborative work. 4 Future IRTAWs The main topics for the sessions were: The closing session of the workshop was to assess the − a summary of the new language features for Ada 2005, th success of the 12 edition of IRTAW, and to decide as expressed in AIs that are being discussed by the whether the workshop series should continue and, in case, ARG; the time frame and the venue of it. − the current state of the RTSJ (real-time specification The Program Chair reported that the workshop this year for Java); attracted an acceptable level of interest, regarding both the − review and update of the current AIs that relate to real- number and quality submissions and the number of time and high-integrity (Figure 8 shows Andy committed participants. All those familiar with the IRTAW Wellings presenting his intended alterations on the series know that the special style of the workshop (intense, execution budgets AI); discussion-based, working sessions interspersed with long breaks, inter-session preparatory work, informal − a discussion on what language changes could be environment) works somewhat against widening its scope proposed in the area of flexible scheduling; and its selected participation. Obviously however the workshop must stay relevant and significant to fulfil its

Volume 24, Number 4, December 2003 Ada User Journal B Dobbing, J Barnes, M Pinho 245 intended role, which does require visibility, and, also beyond the horizon of the current revision process. consequently, the injection of fresh blood and/or the Worthwhile contributions could be made regarding the inclusion of new attractive discussion topics. quality of implementation of the relevant language changes and their applicability to real-time, distributed and fault- Furthermore, the usual 18-month span occurring between tolerant programming paradigms as well as partitioning and successive IRTAW events causes this edition to be the last interoperability with other languages. one to be able to contribute proposals to the ongoing Ada revision process, due for completion in 2005. Similarly, All aspects considered, the group deemed it wiser to defer Q1-2 2005 would also be too early for language technology any decision on future editions of IRTAW to a later time incorporating significant new features to be available for and yet agreed to: evaluation. - maintain the IRTAW group electronically active, so as This notwithstanding, the IRTAW group expressed their to continue to monitor the Ada language revision wish to continue to follow very closely the progress of the process, and; language revision process, and therefore to remain active as - hold an IRTAW Program Committee meeting on the such for the whole duration of the process. occasion of the Ada Europe 2005 conference, to The IRTAW group felt they could continue to play an actually decide on the opportunity, and possibly on the important role towards Ada and real-time programming logistics, of a new edition of the workshop.

Ada User Journal Volume 24, Number 4, December 2003 246 My First Ada-Europe Conference Miguel Masmano Technical University of Valencia, Valencia, Spain; email: [email protected] Abstract 2 The 8th International Conference on This paper presents the impressions of a young Reliable Software Technologies. Toulouse, researcher that comes to his first conference for France presenting his first published paper. The most positive The 8th International Conference on Reliable Software experience has been to discover that there are a lot of Technologies was held in Toulouse, France, on the 17th, people researching “with” and “for” the Ada 18th and 19th of June, 2003. This city is important for its language. aerospace industry, so the place where the Conference was held, had an important meaning by itself. Keywords: Ada-Europe, Ada language, real-time Toulouse is a beautiful city with lots of places to visit; it systems. made the Conference still nicer. 1 Introduction 2.1 Accommodation and transport to the Ada is a general-purpose programming language that was Conference originally commissioned by the U.S. Department of Several two- and three-star hotels were available for Defence (DoD) for finishing with the then existing software accommodation; all of them seemed to be nice (they say!). crisis. But with the recent abandonment of the support of Not all the hotels were near of the Conference place, but the DoD to the Ada Language, people began to think that the organisation also provided a coach which gave us a lift the Ada language would be forgotten. However there are to the Conference at 8 o’clock all the days. still a lot of people and companies that use it intensively for 2.2 Tutorials developing projects, education, and so on. Several tutorials were given the day before and the day In fact, there exists a European association, called Ada- after the Conference (16th and 20th of June), where different Europe, which promotes the use of Ada. According to [1]: new tools and techniques were dealt with. “Ada-Europe is an international organisation set up to Tutorials are a good way to quickly learn about hot topics, promote the use of Ada. It aims to spread the use and the and are normally given by quite competent experts. For knowledge of Ada and to promote its introduction into example, an ORK tutorial was given by the creators of academic and research establishments. Above all, Ada- ORK themselves, Juan Antonio de la Puente and Juan Europe intends to represent European interests in Ada and Zamorano. Ada-related matters”. 2.3 Parallel Workshop: QoS in CBSE 2003 This great effort for conserving and promoting the Ada On Friday 20th of June a workshop about quality of service language demonstrates that Ada is not dying but is in Component-Based Software Engineering (CBSE) was completely alive. held. I’m sorry, but I can’t say more about this workshop: I One of the activities organised for such purpose is the just could not attend! annual International Conference on Reliable Software 2.4 Invited speakers Technologies, where researchers from all over the world present work related with the Ada language. The Ada- The Conference also had the participation of relevant Europe Conference is also a good place to find a number of invited speakers, who gave interesting talks about impor- companies related with the Ada world, demonstrating that tant issues. The invited speakers, and their corresponding Ada is not a simple academic language, but a professional talks, were: language useful for all kinds of projects. Although this is an • The first day of the Conference, Pascal Leroy gave Ada-oriented conference, the background of the a very interesting presentation about the current Conference is to build reliable software, therefore it is not revision of the Ada standard. He explained the monographically oriented to Ada issues, but has a more new features, some of which were presented in general scope on software quality. this or in previous editions of the Ada-Europe Conference. • The second day, Mira Mezini, presented aspect- oriented programming, a new technique for modu- larising concerns whose modular structures are not hierarchical but rather crosscutting in nature.

Volume 24, Number 4, December 2003 Ada User Journal M Masmano 247

• In the morning of the last day, Jörg Kienzle, gave queues, stacks, and so on, which has been an overview about software fault tolerance. It was proposed for being added to the Ada standard. an interesting survey. • Formal specification: This session is special for • Finally, in the afternoon of the last day, Patrick addicts to UML and the like, which is not my case, Farail, presented the design process of the Airbus at least today! A380. The presentation finished with a nice film In parallel about the building process of the A380. • Metrics: In this session some metrics for All invited talks where interesting, but to me, the most measuring and observing the behaviour of Ada interesting one was Pascal Leroy’s because the new revisi- applications were presented. on of Ada will be used by all of us. • Vendor sessions. 2.5 About the accepted papers and their presentation Third day (Thursday June 19th) There were 29 papers accepted to be presented at the Con- • Real-Time kernel: this session presents advances ference and also printed in the proceedings. Before accep- on Ada to be used in real-time. In this session tance, papers were meticulously reviewed by 5 reviewers. Jorge Real presented our paper [2], called For a paper to be accepted it needed to be original, meaning “Running Ada on Real-Time Linux”, winning the that the paper must not have been published in other confe- best paper and also the best presentation awards. rences. • Real-Time systems design: Another important The Conference proceedings are printed in the “Lecture branch of real-time systems is how real-time Notes in Computer Science”. In particular, the proceedings systems must be specified. In this session, several th of the 8 Ada-Europe International Conference on Reliable approaches using specification languages for real- Software Technologies have the volume number LNCS time systems were presented. 2655. In parallel For the presentations, papers are grouped together according to the topic they deal with, creating a session. • Testing: When an Ada application has been Each session has a duration of 90 minutes, where three implemented, next step is to test it. The question is different papers are presented. Since there are 10 different how to probe it in an extensive way, with enough sessions and only three days for the presentations, there are coverage. In this session several new tools were two different parallel tracks. The sessions were the presented. following: • Vendor session. th First day (Tuesday June 17 ) In the vendor sessions, several companies with Ada-related • Ravenscar: An interesting session about this Ada products presented them. profile for real-time systems. To me, this was one The hall was also used between sessions and after lunch for of the most interesting sessions, since my research exhibitions about these new products. interest is mainly focused on real-time systems. 2.6 The gala dinner • Static analysis: This session presented some The gala dinner of the Conference took place in a typical interesting papers to improve and analyse Ada French farm called “ferme Lauragaise”, close to a beautiful programs and even the Ada compiler itself. lake. It was a quite relaxed and pleasant dinner where you In parallel could meet very representative people of the Ada world, and share your ideas with them, not necessarily about Ada! • Language issues: If you wanted to learn more about Ada and new features for the language, this The menu was wonderful, with some local dishes like “foie was your session. gras”, “cassoulet”, duck “magrets”, cheeses and also the fabulous French wines. • Vendor session. The farm was located far from the Conference place, but Second day (Wednesday June 18th) two buses take us to the banquet place. • Distributed Information Systems: Another impor- 2.7 Civic reception and visit to the Bemberg tant use of the Ada language is distributed Foundation systems. Some new techniques and tools were presented in this session. The AE Conference is a very important event, so the mayor of Toulouse himself offered a cocktail reception for the • Software components: New software components Conference attendees in the Toulouse town hall and also for the Ada language were presented. For example spoke about the importance of Computer Science in the Charles, a new set of standard structures, like lists, future. The reception allowed us to visit the splendid town

Ada User Journal Volume 24, Number 4, December 2003 248 My First Ada-Europe Conference hall. Later, a short walk let us see some of the emblematic • There exists a number of researchers and also buildings in Toulouse. companies supporting and using Ada for all kind of projects. The last day of the Conference we visited the Bemberg Foundation, a collection of paintings and art collected • The Ada-Europe Association does a big effort to throughout Bemberg’s lifetime. promote Ada, it can be seen in this Conference. Conclusions Finally, after this wonderful experience I wish I assisted next year to the 9th International Conference on Reliable My conclusions about the Conference are: Software Technologies – Ada-Europe 2004 which will be • The Conference was wonderful, it was well held in Palma de Mallorca, Spain, on the 14th to 18th of organised, and the visits to the city were very June. instructive. References • Although my research interest is mainly focused [1] www.ada-europe.org on real-time systems, almost all the presented papers were very interesting to me. [2] J. P. Rosen and A. Strohmeier (eds) (2003), Reliable Software Technologies Ada-Europe 2003, LNCS 2655, Springer-Verlag.

Volume 24, Number 4, December 2003 Ada User Journal 1

Foreword

As we have bundled issue 24-4 with issue 25-1 in a single shipment, pages 1 to 3 of the 25-1 part will not be repeated. This page is therefore intentionally left blank and the subsequent pages 2-3 will simply be omitted. The News section will therefore resume at its usual position, on page 4 of the new volume.

Ada User Journal Volume 25, Number 1, March 2003 4 News – 25-1 Santiago Urueña (ed.) with support from Dirk Craeynest, former News editor Technical University of Madrid. Email [email protected] Preface When I started working as Ada User Journal News editor more than six years ago, the News section was of rather moderate size and ambition. The first AUJ issue jointly published by Ada-UK and Ada-Europe (19-1) had a News section of only ten widely spaced pages mainly containing items selected from the AdaIC's mailing list. Since then a lot has changed. Many additional news sources were systematically monitored, interesting items were selected, cataloged, and summarized from newsgroups, mailing lists, web sites, direct mailings, etc. Moreover, the volume of Ada- related and –relevant news increased steadily over the years: a healthy sign for the Ada community! Consequently, the AUJ News section has grown in importance and size, until typically taking at least 32 dense pages, half of each issue. After producing the news and conference sections in six Journal volumes, i.e. the 24 issues since early 1998, it is now time for me to pass the torch to new and younger talent. I am very pleased that Santiago Urueña stepped forward, and that he, based on a collection of preselected news items, managed to produce the News section for this 25-1 issue in record time! I'll continue preparing the Conference Calendar, but from now on Santiago is responsible for the News section. I wish him a lot of success and much energy, and am looking forward to reading the forthcoming issues. Dirk Craeynest, Ada User Journal News Editor 1998-2003

This merger reinforces Ada-Europe's po- the continuation of the validation process, Contents sition as a successful and active software one of Ada's great strengths over other page engineering community, enhancing the programming languages. Ada-related Organizations 4 profile of the Ada language in the Euro- For more information, please contact J-P. Ada-related Events 5 pean software engineering community. Ada and Education 6 Rosen, technical director, at Ada-related Resources 7 In particular we would draw your atten- [email protected] Ada-related Tools 7 tion to the 9th International Conference Ada-related Products 10 on Reliable Software Technologies being Praxis Critical Systems joins Ada and Linux 11 organised by Ada-Europe in Palma de Ada Resource Association Ada and Microsoft 12 Mallorca in the week 14-18 June 2004. References to Publications 13 The Ada-Europe conference is now the From: AdaIC Technical Webmaster Ada Inside 14 principal Ada-related event in Europe and Ada in Context 15 a "must attend" event for all Ada practi- Date: Wed, 28 Jan 2004 16:52:18 -0600 tioners. Subject: [AdaIC] Praxis joins the Ada Re- There are plans to bring the Ada-Europe source Association Ada-related Organiza- conference into the UK for 2005. To: tions Please visit www.ada-europe.org for fur- Burlington, Mass. [January 27, 2004] ther information on this community and The Ada Resource Association (ARA) Ada-Europe and Ada UK to future conferences. announced today the addition of a new Merge member, Praxis Critical Systems of Bath, Adalog agreed as an ACAL England, which represents a major share From: www.adauk.org.uk of the European Ada high-integrity soft- From: Jean-Pierre Rosen ware market. Latest News - 1st December 2003 Ada-Europe and Ada UK to Merge Date: Fri, 16 Jan 2004 12:23:38 +0100 "Praxis is part of the Ada programming Organization: Adalog language's cutting edge with its SPARK We are delighted to announce that we Subject: Press release: Adalog agreed toolset," S. Tucker Taft, president of the have reached agreement with Ada-Europe ACAL ARA, said from his SofCheck, Inc., of- to merge the two organisations with effect Newsgroups: comp.lang.ada fices. "The ARA has been very interested from April 2004. in having them come aboard to help guide Adalog is pleased to announce that it has All future membership applications and Ada into the new millennium." been agreed by the ACAA (Ada Compiler renewals will be dealt with directly by Assesment Authority) as an ACAL (Ada Praxis Critical Systems specializes in Ada-Europe. All current Ada UK mem- Compiler Assesment Laboratory). those markets that must ensure reliability bers will be contacted in early 2004 with and avoid failure. The company concen- membership renewal information. In non ISO-speak, this means that Adalog trates on aerospace and defense, finance, is now an agreed laboratory for the vali- Ada-Europe also offer a range of sponsor- transport, telecommunications and media, dation of Ada compilers. ship packages, and many Ada UK spon- energy and utilities, and pharmaceuticals. sors are already sponsors of Ada-Europe. This is a recognition of Adalog's long It provides a range of services, including lasting expertise in Ada, and is good news requirements engineering, systems engi- for the Ada community, as it guarantees neering, software development, safety

Volume 25, Number 1, March 2004 Ada User Journal Ada-related Events 5 assurance, and information security. In manufacture a tagged parent type to make aware of people who have made substan- the Ada software engineering community, it work.) tial contributions that have not yet been Praxis is best known for its SPARK-Ada acknowledged. programming language toolsets, which […] are designed for the engineering of high- integrity software. Ada-related Events From: Stephen Leake "The ARA has been a tremendous re- Date: 15 Dec 2003 19:29:39 -0500 source for us already in promoting and [The announcements reported below are a selection of the many Ada-related events Subject: Re: SIGada Conference supporting the Ada language," said Praxis' To: [email protected] (Chris products manager Rod Chapman. "We organized by local groups. If you are or- ganizing such an event, feel free to inform Miller) look forward to a profitable and techni- Newsgroups: comp.lang.ada cally innovative partnership with the other us as soon as possible. If you attended one members." please consider writing a small report for > Anyone care to post a summary of what the Journal. -- su] went on at this conference. Anything The Ada Resource Association interesting ??? (http://www.adaresource.com) is an inter- December 10 - SIGAda national trade group comprising the prin- The most interesting thing was that there cipal vendors of Ada-related technology. Awards 2003 are several companies making money using Ada, and they are all growing :). The ARA promotes and publicizes Ada From: Currie Colket technology usage (http://www.adaic.org), Date: Tue, 4 Nov 2003 12:31:33 -0500 I've been more inspired to look into using and it sponsors the ongoing development Organization: The MITRE Corporation SPARK to write solid code. and maintenance of the Ada language Subject: Invitation to Nominate Candidates standard and supporting infrastructure. The Ada 200Y features sound fun, too; for SIGAda Awards; Nominations Due aggregates for limited types, a solution for The Operation of the ARG 16 November 2003 mutually recursive types, Java-style inter- To: [email protected] faces, no more silent overloading when From: Robert I. Eachus Dear SIGAda Members, overriding was meant. SIGAda Extended Executive Committee If you subscribe to Ada Letters, the pro- Date: Tue, 16 Dec 2003 22:19:59 -0500 (EEC), ceedings should appear in a few months Subject: Re: SIGada Conference ☺ Newsgroups: comp.lang.ada SIGAda Working Groups, > Since the ARG people are very smart, Team-Ada, and Ada 2005 Presentation and very motivated to conserve imple- Members of the Ada Community: mentors time, I suspect you are wrong From: [email protected] (Dirk :). Personally, I think Java-style inter- On Wednesday, December 10, 2003, the Craeynest) faces will let me do things I simply 2003 SIGAda Awards will be presented in Date: 16 Feb 2004 21:11:21 +0100 cannot do now. a special morning plenary session at the Organization: Ada-Belgium, c/o Dept. of SIGAda 2003 conference in San Diego, Computer Science, K.U.Leuven Thanks for the compliment. But I think California. (See Subject: Ada 2005 presentation, Thu 18 Mar everyone should be aware that we don't http://www.acm.org/sigada/conf/sigada20 2004 20:00, Ada-Belgium care whether or not a feature is "neces- 03/ if you have somehow missed an- Newsgroups: sary." What we really agonize about is nouncements of this year's annual comp.lang.ada,fr.comp.lang.ada,be.com how to make programming in Ada easier SIGAda international conference.) p.programming,nl.comp.programmeren and make it more likely that Ada pro- grams will satisfy all the "ilities." We welcome your nominations of de- Ada-Belgium will hold its 11th annual serving recipients. General Assembly on Thursday, March The interfaces proposal allows a style of The ACM SIGAda Awards recognize 18, 2004, 19:00, at the U.L.B., Depart- multiple inheritance that is currently not ment of Computer Science, Boulevard du well supported in Ada. Wonderful. But individuals and organizations who have made outstanding contributions to the Triomphe / Triomflaan, B-1050 Brussels. the reason that it is a slam dunk that it will The official convocation is distributed be in there, even if it does result in adding Ada community and to SIGAda. The two categories of awards are: separately to members and is also avail- a new reserved word, is that it makes in able on the Ada-Belgium web-server. much easier in many cases for a pro- (1) Outstanding Ada Community Contri- grammer to document what he is really bution Award There will be refreshments and pizza for Ada-Belgium members at 18:15. trying to do. -- For broad, lasting contributions to Ada It is possible to make fancy use of gener- technology & usage. Please notify us if you are a current or ics and dispatching so that you can have new member and intend to participate at (2) ACM SIGAda Distinguished Service this informal "pre-meeting". one specification matched by different Award bodies. But the fact that different mem- "An Invitation to Ada 2005" bers of a class are handled in very differ- -- For exceptional contributions to SIGAda activities & products. At 20:00 the General Assembly will be ent ways is hidden in the structure of the followed by a technical presentation plus program. Interfaces allow a programmer Please consider who should be nominated Q&A, by Pascal Leroy from IBM France. to say he is doing just that, and doing it this year. You may nominate a person for intentionally. either or both awards, and as many people Abstract For example you can have an indexed list as you think worthy. One or more awards Starting in 2000, the ISO technical group type that calls different sort routines, hash will be made in both categories. in charge of maintaining the Ada lan- table, radix sort, b-tree, etc. depending on Please visit guage has been looking into possible the type of the index. With interfaces the http://www.acm.org/sigada/exec/awards/a changes for the next revision of the stan- "documentation" of this occurs where the wards.html#Recipients and peruse the dard, around 2005. Based on the input interface is implemented for a specific names of past winners. This may help you from the Ada community, it was felt that type of index, rather than where the index think about the measure of accomplish- the revision was a great opportunity for types are declared. (And you don't need to ment that is appropriate. You may be further enhancing Ada by integrating new

Ada User Journal Volume 25, Number 1, March 2004 6 Ada and Education programming practices, e.g., in the OOP […] The full Call for Participation on the 2. Ada compilers produce helpful and area; by providing new capabilities for SIGAda 2004 web site for submission informative compile errors. Ergo, it is embedded and high-reliability applica- details: easier to spot and correct misunderstand- tions; and by remedying annoyances en- http://www.acm.org/sigada/conf/sigada20 ings about programming and software countered during many years of usage of 04 The deadline for submission is 2 May development and such detection usually Ada 95. This led to the decision to make a 2004. happens earlier. substantive revision rather than a minor [Also see the full Call for Papers at page 3. Ada is versatile. Ada contains enough one. This talk will give a technical over- 240 of the 24-4 part of this combined AUJ features to properly facilitate any type of view of the most important improvements issue. -- su] computer science course. that are currently under consideration for inclusion in Ada 2005. 4. Ada is designed via the method of least surprise. This allows the professors to Speaker Ada and Education concentrate on programming issues as Pascal Leroy is a Senior Software University and Industry opposed to programming language issues. Engineer with IBM France, and the The problem is to convince the professors chairman of the ISO Ada Rapporteur that the above benefits overweight the Group, the expert group in charge of re- From: Chad R. Meiners benefits of using old lecture note about a vising and maintaining the Ada standard. language that they already know. He has more than 19 years of experience Date: Mon, 17 Nov 2003 15:17:08 -0500 in Ada and has been involved in language Organization: Michigan State University Note that I don't think that universities design, in compiler and tool development Subject: Re: Re-Marketing Ada (was "With should not teach C/C++ or any other lan- and in consultancy with very large Ada and use") guages. They should of course offer them projects, notably in the area of command Newsgroups: comp.lang.ada as programming language courses. But and control systems. Pascal holds degrees > I think they *know* about it, but they also as has been expressed many times from Ecole Polytechnique and Ecole are not much interested in teaching a before in this newsgroup, learning a sec- Nationale des Télécommunications in language that appears to be on the de- ond language is not nearly as difficult as Paris, France. cline if not exactly "dead". They want learning the first one. Learning Ada as a first language really helps students absorb More information to be able to prepare students for the kinds of things they'll likely see when programming concepts faster. (These are The Ada Issues Database of the Ada Rap- they get out in industry and don't want my observations; I wish we could do a porteur Group is available on the Ada to teach something that might be per- study on this since such a conclusion Conformity Assessment Authority's web ceived as of purely academic interest would be wonderful press for Ada ;-) site at http://www.ada-auth.org/. with no practical use. [...] Looking forward to meeting many of Well first of all the point of a computer Educational Virtues of Ada you in Brussels! science degree is not to prepare you for From: Daniel Feneuille Dirk Craeynest, President Ada-Belgium industry. If you want to be prep'ed for industrial use, go to a technical college, it [email protected] Date: Wed, 03 Dec 2003 10:54:13 +0100 will suffice. Now I am not saying that Subject: Enseigner Ada November 14-18 SIGAda universities do not prepare you for indus- To: Ada France try, but I am saying that university pro- 2004 grams have (and should have) concerns other than satisfying the demands of in- [Translated from French] The paper From: [email protected] dustry. In short, the point of a university «Teaching Ada» [Enseigner Ada, all in (Ricky E. Sward) degree is to develop your mind; teaching French], which I earlier announced to be Date: 7 Feb 2004 11:50:19 -0800 you a trade is secondary. I will admit that in the making, was finally born! Subject: CFP for SIGAda 2004 it is easy to find professors that have lost [See AUJ 24-2 (June 2003), p.71 --su] Newsgroups: comp.lang.ada touch with this objective. Furthermore, I It consists of 35 pages in HTML format Call for Participation - SIGAda 2004 will admit that collaboration between universities and industry can have a very that can be accessed via a URL posted at: 14-18 November 2004, Atlanta, Georgia, positive effect. However, the fact remains http://www.ada-france.org/article103.html USA that the stated goals of universities are to I am grateful to Ada France for their Sponsored by ACM SIGAda discover truth and to develop minds. (Can support to this project, and I am indebted to those who have provided contributions: http://www.acm.org/sigada/conf/sigada2004 you tell that I have had this argument they are all cited at the beginning of the (Approval pending by ACM) before ;-) That being said, I agree that the main article). Finally, I wish to thank those, Constructing highly reliable software is without supplying textual contributions, an engineering challenge that can now be reason computer science faculty resist teaching Ada is that they believe it to be a have sent me their encouragements, met in many domains. The SIGAda 2004 comments and observations. conference focuses on how the applica- dying language. However, I believe that The paper is not cast in concrete, yet. You tion of software engineering methods, we have a good sellable argument for the may therefore react to its contents and tools and languages interrelate and on language with the following pedagogical possibly trigger some final addtions to it. how features in Ada affect the quality of reasons: (This is off the top of my head. the resulting software. Papers that analyze Please feel free to add more to the list.) Ada with respect to these factors or in 1. Ada is subsetable. Initial student will comparison to other languages are espe- start out with a small but workable subset cially welcome. SIGAda 2004 gathers of Ada. As the student grows and devel- industry experts, educators, software en- ops so can the subset of Ada. When gineers, and researchers interested in de- teaching new concepts (such as OO pro- veloping, analyzing, and certifying reli- gramming, or multi-tasking programs) able, cost-effective software. Technical or new features within Ada can be intro- theoretical papers as well as experience duced and added to the subset. reports with a focus on Ada are solicited.

Volume 25, Number 1, March 2004 Ada User Journal Ada-related Tools 7

Newsgroups: comp.lang.ada GNAT for Mac OS X 10.3 Ada-related Resources > Is there a Ada job mailing list? From: James E. Hopper If you have a job posting, send it to Ada IRC Channel [email protected]. To read job list- Date: Tue, 18 Nov 2003 03:07:55 GMT ings, look at Organization: Road Runner High Speed From: Genro Kane Gupta http://www.adaic.org/jobs/jobs.html Online http://www.rr.com Subject: Re: GNAT for Mac OS X 10.3? Date: 26 Nov 2003 19:16:17 GMT Newsgroups: comp.lang.ada Organization: Uncensored-News.Com $6.95 Ada-related Tools Uncensored Newsgroups. > Is a version of GNAT available yet for Subject: [Announce] #Ada IRC channel on Booch Components Mac OS X 10.3? I took a look at Freenode http://adapower.net/macos/compiler.ht Newsgroups: comp.lang.ada From: Simon Wright ml and it looks like all they have is ver- This is the annual reminder of the exis- sions for 10.1.5 and 10.2. Can the 10.2 tence of the #Ada channel on the Date: Sun, 23 Nov 2003 19:51:36 GMT version be used safely on a G5 running Freenode IRC network. Now entering its Subject: Booch Components 20031123 10.3.1? third year, the channel is open to all dis- To: [email protected] [...] we have a mailing list that you might cussions related to the Ada language and This release has been uploaded to want to join. its use. We welcome beginners and pros http://www.pushface.org/components/bc/ We are working on 10.3 specific version alike, and do our best to maintain a Please note that the mirror at of the compiler we hope to have it real friendly, productive, and informative at- soon now but no dates yet. The current mosphere. http://www.adapower.net/booch/ is out of date, which is why I've not announced the 10.2 version works fine on 10.3 but not The latest open question seems to be, 20030815 release (included here). with xcode. What several people have "Why isn't Ada used in more free and done is done an update to 10.3 but not to open-source programming projects?" Major features since 20030309: xcode and all runs well. If you already Some reasons have been proposed, but Added have xcode IDE installed, you should be you're welcome to come on over and offer BC.Support.High_Resolution_Time, able to install the compiler but the inte- your own opinion. We also spend a lot of which supports sub-microsecond interval gration with Apples IDE won't work. time on specific programming questions, timing. This version is for GNAT on From: Andrew Reynolds so come to get help or to offer it. Linux or Windows on x86 processors. Point your IRC client to irc.freenode.net Added BC.Support.Statistics, which sup- Date: Tue, 18 Nov 2003 03:16:34 GMT and join the #Ada channel. Come one, ports collecting running mean, variance, Subject: Re: GNAT for Mac OS X 10.3? come all! minimum and maximum of sequences of Newsgroups: comp.lang.ada values. Yes, the 10.2 compiler can be used with Ada Employment Opportu- BC.Support.Synchronization no longer 10.3. The procedure for doing so is a little nities exposes the controlledness of Semaphore. tricky right now. We are in the process of fixing the one remaining problem with the From: [email protected] (Marc A. Ada now in Cygwin 10.3 compiler. Criley) First install the developer tools from the Date: 9 Dec 2003 05:37:09 -0800 From: Stephen Leake Subject: Re: Question CD provided with Panther. Next, do the following: Newsgroups: comp.lang.ada Date: 30 Oct 2003 17:03:14 -0500 > Is there a Ada job mailing list? Organization: NASA Goddard Space Flight $ sudo gcc_select 3.1 Center (skates.gsfc.nasa.gov) password: I don't know of a mailing list, but the Ada Subject: Ada now in cygwin IC (www.adaic.org) has a jobs section Newsgroups: comp.lang.ada Then install the 10.2 version of GNAT under the "Help Wanted" tab. And it does from the MacAda.org web site. appear to be at least somewhat active. A message just posted on the Cygwin mailing list: If you need more help E-mail me directly. Marc, [email protected], McKae Techno- Andrew W. Reynolds logies From: "Gerrit P. Haase" [email protected] GNAT for MacOS X Development Team "The Efficient Production of High Quality Subject: Updated: gcc-3.3.1-3 Compiler/Run-Time System/Bindings/ Software" www.mckae.com Sample Code From: Jeffrey Carter To: [email protected] Date: Tue, 09 Dec 2003 18:25:00 GMT I've made a new version of gcc avail- GNAT Compiler for AVR Subject: Re: Question able for download. Targets Newsgroups: comp.lang.ada This release includes some changes in > I don't know of a mailing list, but the the package layout. There are now sev- From: [email protected] Ada IC (www.adaic.org) has a jobs eral packages, one package including (Rolf Ebert) section under the "Help Wanted" tab. the core components and one package Date: 5 Dec 2003 04:48:52 -0800 And it does appear to be at least some- for each additional front end. Subject: [Announce] AVR-Ada V0.1 re- what active. leased Available front ends now: Ada, C, C++, Newsgroups: There's also the SIGAda/ARA Ada Em- Fortran, Java, ObjC, Pascal. comp.lang.ada,comp.arch.embedded ployment Opportunities Database at I assume this is the somewhat broken http://www.seas.gwu edu/~adajobs/ We are proud to announce the first release GNAT. But it's a step in the right direc- of AVR-Ada, one of the first GCC based From: Randy Brukardt tion! I'll give it a try on the SAL tests. Ada compilers targeting 8-bit microcon- trollers. Date: Tue, 9 Dec 2003 13:56:33 -0600 Subject: Re: Question

Ada User Journal Volume 25, Number 1, March 2004 8 Ada-related Tools

You can get the project description and Subject: Ada graphic tools' summary Ada Open Gl works great on Mac. some (limited) documentation at Newsgroups: comp.lang.ada http://adaopengl.sourceforge.net/ avr-ada.sourceforge.net Is there somewhere an Ada graphic tools' > - real-time dynamic displays as for a The SF development pages with the summary with abstracts and/or evalua- video game or visualization of a physi- download section are at tions? Which tools/libraries should I rec- cal process? www.sourceforge.net/projects/avr-ada ommend to somebody who asks for doing The SDL that someone already pointed AVR-Ada is available in source form graphics with Ada? I would like to beef out works on Mac OS x as well. only. Binary packages of the cross com- up my www.csv.ica.uni-stuttgart.de/ [web site, placed at:] > - a hardware-independent set of routines piler for Linux and Windows are expected to draw straight lines and ellipses? to appear with future releases of cdk4avr homes/ph/resources_on_ada.html (cdk4avr.sourceforge.net) and WinAVR with any of your inputs. http://adaopengl.sourceforge.net/ (winavr.sourceforge.net). From: [email protected] > A further category would be image Feel free to join the mailing list at (arvids lemchens) processing as is done by tools like, e.g. https://lists.sourceforge.net/mailman/listin Date: 13 Nov 2003 08:42:00 +0100 photoshop or the . fo/avr-ada-devel. Organization: A poorly-maintained Debian GNU/Linux InterNetNews site I have been working on an Ada binding to It has quite low traffic. Please use SF's Subject: Re: Ada graphic tools' summary the c++ class library at www.ossim.org bug reporting system for guiding future Newsgroups: comp.lang.ada which does image processing and geo- development of AVR-Ada. graphic stuff. For instance I wrote a nice [...] little Mac drag and drop app that trans- The goal of the AVR-Ada project is make > Which tools/libraries should I recom- lates files like dted, dem, uncompressed the gcc based Ada compiler GNAT avail- nitf, etc to jpeg, raw, and tiff. able for the AVR microcontrollers. mend to somebody who asks for doing graphics with Ada? Have done a number of other nice apps to More specifically the project wants to do things like cropping to geographic provide: Assuming you want to open a window under X11 and plot some dots, there are rectangles, resample to different degrees - a working compiler based on the exist- per pixel, etc. ing AVR and Ada support in gcc a. GTKAda at http://libre.act-europe.fr/ GtkAda/main.html We hope to put these up on the ossim - a minimalistic Ada runtime system website soon. b. in combination with a. - a useful AVR specific support library http://www.ctr.unican.es/win_io/ which AWS 1.4 - Ada Web Server Although the compiler and the library makes the hole thing a lot simpler. have considerably improved in the last c. binding to XLib, x11ada. There are From: Pascal Obry few months they still have some prob- different versions on the web. Try Date: 13 Nov 2003 17:54:53 +0100 lems. Do not base a commercial project google to find the best/newest/.... Organization: Home - on this tool chain. Or if you do, do it at http://perso.wanadoo.fr/pascal.obry d. possibly much more that I don't know your own risk :-). Subject: Announce: AWS 1.4 released of. Most of Ada's static features can be used Newsgroups: with AVR-Ada. A typical Ada run time From: Chad R. Meiners fr.comp.lang.ada,comp.lang.ada system is practically non-existent (and Followup-To: will probably never be). As a conse- Date: Thu, 13 Nov 2003 14:28:44 -0500 fr.comp.lang.ada,comp.lang.ada Organization: Michigan State University quence we have to sacrifice some of the AWS - Ada Web Server 1.4 release / Subject: Re: Ada graphic tools' summary typical useful Ada features like run time SOAP 1.2 checks, exception handling, timing com- Newsgroups: comp.lang.ada Authors: Dmitriy Anisimkov, Pascal Obry mands (no delay statement), tasking, etc. [...] We are happy to announce the availability Some of them are on our todo list for fu- > - real-time dynamic displays as for a of the AWS 1.4 release. The API could ture releases, though. video game or visualization of a physi- change slightly at this stage but should be We provide an Avr package hierarchy cal process? fairly stable now. with some useful type and interface defi- Ada thin binding for SDL AWS stand for Ada Web Server. It is not nitions and most importantly the neces- http://sourceforge.net/projects/adasdl/ sary definitions for most AVR parts. a real Web Server like Apache. It is a There is a thick binding in the CVS tree, small yet powerful HTTP component to Some sample programs in the apps/ di- also. embed in any applications. It means that rectory show how to use the compiler and you can communicate with your applica- the library. This includes the tutorial pro- From: James E. Hopper tion using a standard Web browser and gram from the avr-libc distribution trans- this without the need for a Web Server. lated to Ada. Date: Thu, 13 Nov 2003 23:57:19 GMT Organization: Road Runner High Speed AWS is fully developed in Ada with The documentation is very low and con- Online http://www.rr.com GNAT. sists only of the pages at Subject: Re: Ada graphic tools' summary AWS support SOAP, Server Push, avr-ada.sourceforge.net. A copy of the Newsgroups: comp.lang.ada HTTPS/SSL, client HTTP, hotplug mod- pages is in the directory AVR-Ada/web/ ules... We have worked very hard to make for offline reading. > - a graphic UI in the sense of Windows or Macintosh, in which case a "graphic this release as stable as possible. Note that Summary of Ada Graphic library" is a binding to the Windows or Hotplug modules are very nice but have a Mac OS? potentially security hole as it is imple- Tools mented today. A new secure implementa- For Mac OS X, there are carbon bindings tion will be proposed in a future version. From: Peter Hermann at http://MacAda.org as well as examples for using them. The SOAP implementation has been vali- dated on http://validator.soapware.org/. Date: Wed, 12 Nov 2003 15:17:08 > - Pixar type photo-realistic rendering of Organization: Comp.Center (RUS), U of complex scenes? Validation: AWS 1.4 has been compiled Stuttgart, FRG and has passed all tests on:

Volume 25, Number 1, March 2004 Ada User Journal Ada-related Tools 9

Windows XP, GNAT 3.16a1 and 5.01a discover often a good load of bugs never Distributed Systems Annex), to support GNU/Linux x86, GNAT 3.16a1 and 5.01a detected in the Fortran code... the development of distributed applications with real-time SPARC Solaris 8, GNAT 3.16a1 URL: ftp://ftp.usafa.af.mil/pub/dfcs/ carlisle/usafa/for2ada95/ requirements. Project developed by Others platforms / compiler version com- Juan López Campos or J. Javier binations have not been tested, it does not MaRTE OS 1.4 - Minimal Gutiérrez García (Universidad de mean that it's not working. Real-Time Operating Cantabria). Previous version of AWS have been build System for Embedded - Graphics library (port of the SVGAlib). on FreeBSD 4.1 and MacOS X. Project developed by José Luis Applications Mantecón (Universidad de Cantabria). Pointers: AWS Home Page (sources and documentations): From: Mario Aldea Rivas For more extensive documentation and http://libre.act-europe.fr/aws downloading please visit the following Date: Thu, 08 Jan 2004 13:08:06 +0100 URL: http://marte.unican.es/ FTP, HTTP & SMTP Subject: MaRTE OS V1.4 released For comments, suggestions, doubts, problems, etc., send an e-mail to Mario From: [email protected] MaRTE OS version 1.4 released on December 22nd! Aldea Rivas: mailto:[email protected] Date: Mon, 29 Dec 2003 20:19:15 GMT […] Subject: Announce: Ada Internet tools MaRTE OS (Minimal Real-Time Oper- Newsgroups: comp.lang.ada ating System for Embedded Applications) Ini File Reader Package FTP, HTTP, and SMTP packages, with is a real-time kernel for embedded appli- example programs, are now available at cations that follows the Minimal Real- From: Stephen Leake www.adaworld.com, thanks to Stephane Time POSIX.13 subset, providing both Richard. Click on Ada Projects, then Ada the C and Ada language POSIX inter- Date: 29 Oct 2003 15:22:06 -0500 Internet Projects, then Internet Protocols. faces. Organization: NASA Goddard Space Flight A .zip file has the specs. Another zip file It allows software cross-development of Center (skates.gsfc.nasa.gov) has bodies implemented with NC, a high Ada and C applications using the GNU Subject: Re: Ini reader package level winsock binding based on, but Not compilers Gnat and Gcc. Remote debug- Newsgroups: comp.lang.ada requiring, Claw. The third zip file has NC, ging of applications is also possible using > Does anyone know if there is some kind with a short example program that fetches the GNU debugger gdb. MaRTE OS is of ini file reader/writer package? Oth- a webcam picture of current Silicon Val- available under the GNU General Public erwise i'll write one myself. ley weather. License. Grace.Config_Files reads Java properties ZLib Bindings In this version, new functionality has been syntax; that satisfies "some kind of ini added: file", unless you meant "exactly Windows From: [email protected] (Dmitriy - New POSIX functionality included: ini file format". Anisimkov) * Semaphores. http://savannah.nongnu.org/projects/grace Date: 1 Dec 2003 23:28:32 -0800 [...] Subject: An: ZLib-Ada * pthread_setschedprio() function. Newsgroups: comp.lang.ada * "Dynamic Package Initialization" Auto_Text_IO & SAL Latest version of the popular compres- (pthread_once() function). sion/decompression library ZLib v 1.2.1 - Application-defined scheduling From: Stephen Leake contains thick Ada binding in the con- interface improved. trib/ada folder. Date: 18 Nov 2003 11:25:15 -0500 - Added PCI bus support (Developed by http://www.zlib.org Organization: NASA Goddard Space Flight José María Martínez). Center (skates.gsfc.nasa.gov) Fortran to Ada Translators - Improved dynamic memory manage- Subject: SAL, Auto_Text_IO versions re- ment: Included the "Two Levels Segre- leased From: Randy Brukardt gate Fit memory allocator" (TLSF) Newsgroups: comp.lang.ada algorithm developed by Miguel Driven by the release of "webcheck", I've Date: Wed, 3 Dec 2003 14:08:01 -0600 Masmano Tello (Universidad released new versions of SAL (now 1.51; Subject: Re: Fortran to Ada Politécnica de Valencia) my Ada library of useful stuff, mainly Newsgroups: comp.lang.ada - Created scripts 'mgnatbind' and data structures) and Auto_Text_IO (now > I have been looking for a (preferably 'mgnatlink'. Now 'mgnatmake' can be 3.01; automatically generates Put and Get free) Fortran (77, 90) to Ada translation used to compile applications split into Text_IO subprograms for Ada types). tool. Any ideas where I can find such a several directories. The changes mostly involve the build tool? - Hardware interrupts management structures; they are cleaner. Ada Solutions has such a tool, but it isn't operations. Based on a POSIX draft for Auto_Text_IO can now be nicely inte- free. http://www.ada-solutions.com/ "Interrupt Control API" grated with ACT's GPS, thanks to some (P1003.2X/D1.0, February 2001). From: Gautier Write-only kind sole whose name I've lost :(. - Drivers for standard output, input and Grace.Config_Files is now also supported Date: Wed, 03 Dec 2003 21:53:38 +0100 error are now integrated in the general as SAL.Config_Files; that's easier for me Organization: Cablecom Newsserver MaRTE drivers framework. to use and maintain. Subject: Re: Fortran to Ada - Other minor improvements and bug http://www.toadmail.com/~ada_wizard/ Newsgroups: comp.lang.ada fixes. f2a is quite good. Translated a many nu- Coming soon: merics sources with it. You need pre- and - Implementation of RT-GLADE after- translation work of course. And you (modification of GLADE, the current GNAT implementation of the Ada 95

Ada User Journal Volume 25, Number 1, March 2004 10 Ada-related Products

AdaCL - Ada Class Library - More efficient parser - Support for Ada, C and C++ switches is - Better support for encodings now defined through XML files. These files can be modified to add more From: Martin Krischik See the files features and known-prob- switches lems in the distribution for a more de- Date: Wed, 21 Jan 2004 20:20:16 +0100 tailed list. - New customization capabilities Organization: AdaCL Ada Core Technologies and ACT Europe - Support for preprocessor options in Subject: [Announcement] AdaCL 4.0.0 (cgi) syntax checking released. are providing full support for this tool set. Newsgroups: comp.lang.ada Let us know at [email protected] or - Improved MDI [email protected] if you are interested - Ability to reformat more Ada construct CGI Suport has been added. Apart from in evaluating this library for commercial all CGI features AdaCL can read normal use. - Auto casing of Ada reserved words and HTML files, change them on the fly to identifiers add dynamic content and send the result The XML/Ada team - Navigation to the next/previous subpro- to the web server. ACT - GNAT Programming gram and start/end of statement Changes: System IDE (GPS) - New casing mode "Smart Mixed" A bug in GNAT eventually forced me to change all filenames to lower case. From: Arnaud Charlet ACT - PolyORB 1.0p Abstract: Date: Thu, 20 Nov 2003 18:23:34 +0100 From: Laurent Pautet AdaCL provides library services for Subject: ANNONCE: GNAT Programming Date: 26 Nov 2003 17:41:18 +0100 scripting in Ada: System 1.4.0 Organization: ENST, France - A text search and replace library. Newsgroups: fr.comp.lang.ada Subject: [ANNOUNCE] Release of Poly- ORB 1.0p Ada Core Technologies and ACT Europe - a cgi binding. Newsgroups: comp.lang.ada are pleased to announce the release of - execution of external programs includ- GPS 1.4.0, the GNAT Programming Ada Core Technologies, ACT Europe, ing I/O redirection with Ada.Text_IO. System IDE, including binaries for the and the PolyORB team are proud to an- Unlike GNAT.OS_Lib AdaCL lets you GNU/Linux, Solaris and Windows plat- nounce the first public release of Poly- wait on a given asynchronous process forms. ORB: instead of just the first to end. Designed by programmers for program- PolyORB 1.0p - a garbage collector. mers, the GPS IDE integrates the GNAT (http://libre.act-europe.fr/polyorb/). - Booch components for indefinite ele- Ada 95 tools within a single visual devel- This release contains a CORBA-compli- ments. opment environment. GPS is Free Soft- ant instantiation of the PolyORB generic - trace feature - very handy for CGI (no ware. This version is intended for use in middleware. It includes: academic and Free Software projects. debugger, no console output). * an IDL to Ada 95 compiler, Regards, Martin Krischik, GPS is available at http://libre.act-europe.fr/gps * implementations of the Portable Object [email protected] Adapter (POA), Dynamic Skeleton http://www.ada.krischik.com New features include, among other things: Interface (DSI), Dynamic Invocation - Clickable CVS annotations: you can Interface (DII), and Interface now click on CVS annotations to jump Repository (IR), Ada-related Products directly to the corresponding changelog * implementations of the COS Naming, in the history revision of the file. ACT - XML/Ada 1.0 COS Event and COS Time services, - Improvements in the entity browser for * implementations of GIOP 1.0, 1.1, and From: Emmanuel Briot C and C++ 1.2. - Browsers can be exported as png This CORBA implementation can be con- Date: Fri, 07 Nov 2003 10:38:32 +0100 images figured for full tasking, Ravenscar tasking Subject: Announce: XML/Ada 1.0 released - Ability to derive a language from an- or no tasking runtime, depending on the Newsgroups: other language in xml custom files level of desired functionality for the ap- comp.lang.ada,fr.comp.lang.ada plication, and on the resource constraints - Contextual menus no longer show xref for the target. We are happy to announce the release of a entries when no xref information is new version of XML/Ada (1.0). This is a available This release should be considered as a set of Ada packages that can be used to stable implementation of CORBA mid- - Possibility to see the differences be- manipulate XML streams. It includes a dleware over PolyORB. full XML parser (including for the DTD tween the current file and a specified part), as well as SAX 2.0 and DOM 2.0 VCS revision. Other instantiations of PolyORB are available in the public PolyORB CVS compliant interfaces (please see the web - It is now possible to interrupt back- repository for testing purposes. They will page and the documentation for more ground tasks using the task manager, or be included in future releases. information on these interfaces). It also the contextual menus on the progress includes a Unicode module to manipulate bars. PolyORB is primarily developed by and convert Unicode streams. Jérôme Hugues, Thomas Vergnaud, and - When defining custom actions, the out- Laurent Pautet (Télécom Paris), and It passes all of the applicable tests of the put of a shell command can now be Thomas Quinot (ACT Europe). Fabrice official XML conformance test suite. used to launch an external command Kordon (LIP6) also participates in the (for instance to query switches from the This new release includes a number of project. fixes for the parser itself and the DOM project first). interface, as well as a number of new - Compilation output is highlighted in features: different colors based on the type of the error (Error/Warning/Style)

Volume 25, Number 1, March 2004 Ada User Journal Ada and Linux 11

POLYORB Distributed applications and plication needs. It provides a set of com- nary FreeBSD and PostgreSQL database middleware ponents on top of which various instances support. There is also a new BUSH mail- PolyORB aims at providing a uniform can be elaborated. These instances (or ing list. solution to build distributed applications; personalities) are views on PolyORB fa- We're looking for examples of BUSH relying either on industrial-strength mid- cilities that are compliant to existing stan- scripts to post to the BUSH Source Code dleware standards such as CORBA, the dards, either at the API level (application Treasury page. Email contributions to me Distributed System Annex of Ada 95, personality) or at the protocol level (pro- or post them to the mailing list. distribution programming paradigms such tocol personality). These personalities are mutually exclusive views of the same The BUSH home page is as Web Services, Message Oriented Mid- http://www.pegasoft.ca/bush.html dleware (MOM), or to implement appli- architecture. cation-specific middleware. The decoupling of application and proto- To learn more about PegaSoft Canada, visit http://www.pegasoft.ca Middleware provides a framework that col personalities, and the support for mul- hides the complex issues of distribution, tiple simultaneous personalities within the and offers the programmer high-level same running middleware, are key fea- Ada and Linux abstractions that allow easy and transpar- tures required for the construction of in- ent construction of distributed applica- teroperable distributed applications. This tions. A number of different standards allows PolyORB to communicate with Debian Ada Packages exist for creating object-oriented distrib- middleware that implement different dis- reached "Testing" uted applications. These standards define tribution standards: PolyORB provides two subsystems that enable interaction middleware-to-middleware interoperabil- From: Ludovic Brenta between application partitions: ity (M2M). PolyORB's modularity allows for easy Date: 27 Jan 2004 21:04:51 +0100 * the API seen by the developer's Subject: Update on Ada packages in Debian application objects; extension and replacement of its core and personality components, in order to meet GNU/Linux * the protocol used by the middleware specific requirements. In this way, stan- Newsgroups: comp.lang.ada environment to interact with other dard or application-specific personalities Yesterday, my Ada packages have all nodes in the distributed application. can be created in a streamlined process, reached "testing" in Debian. In a nutshell, Middleware implementations also offer from early stage prototyping to full-fea- this means that: programming guidelines as well as devel- tured implementation. The PolyORB ar- - they will be in the next stable release of opment tools to ease the construction of chitecture also allows the automatic, just- Debian (i.e. on the CD-ROMS and large heterogeneous distributed systems. in-time creation of proxies between in- DVDs). This release is code-named Many issues typical to distributed pro- compatible environments. "Sarge" and will become the new gramming may still arise: application PolyORB currently supports the following "stable" release Real Soon Now(tm). architectural choice, configuration or de- personalities (in the main development But as always, the only release date you ployment. Since there is no "one size fits branch, available through CVS access): will ever get from a Debian developer all" architecture, choosing the adequate is, "when it's ready" :) distribution middleware in its most ap- * application personalities: CORBA, Dis- propriate configuration is a key design tributed System Annex of Ada 95 - they have passed certain quality tests, point that dramatically impacts the design (DSA), MOMA - MOM for Ada. most notably to ensure no package is and performance of an application. Interaction between CORBA and DSA broken by them. partitions has been successfully tested; Consequently, applications need to rap- - they are all built using GNAT 3.15p. idly tailor middleware to the specific dis- * protocol personalities: SOAP, GIOP For more details, please see tribution model they require. A distribu- (CORBA generic protocol layer) and http://www.debian.org/devel/testing. tion model is defined by the combination the following instantiations: IIOP (over TCP/IP), DIOP (over UDP/IP for one- Here is a list of the Ada-related packages of distribution mechanisms made avail- that are in Debian: able to the application. Common exam- way requests), and MIOP/UIPMC ples of such mechanisms are Remote Pro- (group communication over - 20021112 ada-reference-manual multicast/IP) cedure Call (RPC), Distributed Objects or 1.4 1.6 adacgi Message Passing. A distribution infra- * under development: Web Services per- structure or middleware refers to software sonality, an adaptation of the AWS API 1.0 1.8.4.2 adasockets that supports one (or several) distribution to PolyORB. 3.14p 3.15p asis model, e.g.: OMG CORBA, Java Remote Note: PolyORB is the project formerly 19990519 gch (GNAT Style checker) Method Invocation (RMI), the Distributed known as DROOPI, a Distributed Reus- System Annex of Ada 95, Java Message 1.2.0 1.4.3a gnade (GNU Ada Database able Object-Oriented Polymorphic Infra- Environment) Service (MOM). structure. PolyORB: a generic middleware with an 3.14p 3.15p gnat (GNU Ada Translator) instance per distribution model. PegaSoft - BUSH AdaScript 3.14p 3.15p gnat-doc Typical middleware implementations for Business Shell - 5.3.gnat0.0.20030225 one platform support only one set of such gnat-gdb (Ada-aware version interfaces, pre-defined configuration ca- From: Ken O. Burtch of GDB) pabilities and cannot interoperate with other platforms. In addition to traditional Date: Thu, 01 Jan 2004 11:59:36 -0500 3.14p 3.15p gnat-glade (GLADE distrib- middleware implementations, PolyORB Subject: ANN: BUSH 0.9.3 uted systems) proposes an original architecture to enable Newsgroups: comp.lang.ada 3.14p 3.15p gnat-glade-doc support for multiple interoperating distri- I'm dropping by comp.lang.ada to an- - 1.4.0 gnat-gps (the GNAT Pro- bution models in a uniform canvas. nounce that a new version of BUSH, the gramming System) PolyORB is a polymorphic, reusable in- AdaScript Business Shell, was released at the end of November. The new version - 1.2.0 gvd (the GNU Visual frastructure for building or prototyping Debugger) new middleware adapted to specific ap- features better script stability and prelimi-

Ada User Journal Volume 25, Number 1, March 2004 12 Ada and Microsoft

- 20030813 libcharles0 Date: 28 Jan 2004 15:18:46 +0100 The emulator provides a set of terminal 3.14p 3.15p libflorist-3.15p-1 Subject: Re: Update on Ada packages in emulation capabilities implemented in Debian GNU/Linux Ada 95 to run under Windows - 1.2.8 libgtkada1 (GtkAda v.1) Newsgroups: comp.lang.ada 95/98/NT/2000, along with various dem- - 2.2.1 libgtkada2 (GtkAda v. 2) > Actually you shouldn't use testing too onstration and application programs. - 1.0 libxmlada1 (XML/Ada) much. Testing does not need to be con- All source code for the emulator is pro- sistent so it can break your setup. It is vided under the GNU General Public Li- - 0.7.13.3 topal better to use unstable or wait for sarge. cense. The package was developed using In addition, the two packages gnat-3.2 and However, now as we are close to a sta- GNAT and GWindows. gnat-3.3 provide the FSF version of ble release I think upgrading to testing Version 1.5 is a significant improvement GNAT. is quite safe. But after the stable has over the initial release of this package. I believe that these packages together been released, don't use testing. Modifications include bug fixes, im- provide a good foundation to build on. Testing is safer than unstable. I use testing provements in the VTxxx and ANSI With Debian, you now get a complete all the time. Testing is good for you. emulation capabilities, and improvements Ada development system including com- Packages migrate from unstable to testing in the compatibility of the telnet applica- piler, debugger, IDEs, and several librar- only after they pass certain sanity checks. tion with various Win32, Unix and VMS ies, all prepackaged and precompiled for In particular they must have no more bugs based telnet servers. you. Most, if not all, packages are avail- than the version already in testing, must A summary of all changes is available at able on three architectures: i386, sparc, not break any packages, and must install the above URL. and powerpc. on all platforms. The discussion you are Special thanks to Simon Clubley for test- Several packages provide libraries. For referring to is one year old. At that time ing the emulator against several different them, I always distribute their files (*.ads, there was change from glibc 2.2 to 2.3, VMS platforms, and suggesting valuable *.adb, *.ali, *.so and *.a) according to which is a large change and caused some improvements. Florian Weimer's proposed GNU Ada people (not me) to have problems. But the Environment Specification problems were there in unstable too. Now, [See also "Ada Terminal Emulator for (http://cert.uni-stuttgart.de/ under: testing is very close to being frozen for Windows" in AUJ 24-3 (Sep 2003), projects/ada/gnae.php). In addition to this, final release and is suitable for daily use. pp.150-151. -- su] I always provide a GNAT project file that From: Preben Randhol SYSAPI - Windows 64-bit makes it very easy to build your File I/O Bindings If there is software (library or application) Date: Wed, 28 Jan 2004 15:52:59 that you would like me to package for Organization: PVV From: Ekkehard Morgenstern Debian, please tell me. I will try to pro- Subject: Re: Update on Ada packages in vide some of the most popular packages. Debian GNU/Linux Date: Mon, 15 Dec 2003 15:18:55 +0100 The more people request a particular Newsgroups: comp.lang.ada Organization: 1&1 Internet AG Subject: [announcement] SYSAPI and package, the more I will consider it > Testing is safer than unstable. I use popular :) I will also tend to favour well- SYSSVC for Windows testing all the time. Testing is good for Newsgroups: comp.lang.ada tested, mature software over experimental you. […] releases. However, as Debian is a volun- I'd like to announce the new version of teer effort, I cannot make any promises As I said, "However, now as we are close my SYSAPI / SYSSVC packages for unless you pay me :) to a stable release I think upgrading to Windows. testing is quite safe." The release of Sarge is nigh! This version provides the following fea- But testing is never meant to be consistent tures: From: Ludovic Brenta in between stable releases. Testing com- pletely broke tetex for my while writing - uses features of Windows 2000 and XP Date: 28 Jan 2004 15:14:14 +0100 my thesis (this August/September) and I (if present). Subject: Re: Update on Ada packages in had to get back to the stable release (and - synchronous 64-bit file I/O. Debian GNU/Linux also delete files to get it work again). - asynchronous 64-bit file I/O. Newsgroups: comp.lang.ada Same problem with Gnome. The reason > What happened to GVD? Not that I was that not all the package that one The package contains: would use a debugger nearly as much needed were available in testing. - the SYSAPI DLL and import library for with Ada as with (Visual) C(++), but if GNAT 3.15p or higher I have to, GVD looks nicer than using gbd directly. Ada and Microsoft - the source code and makefile for SYSAPI DLL (Visual C/C++ 7.0) GVD was removed from Debian. It was the only package using libgtkada1, and Ada Terminal Emulator for - the Ada spec and body files for libgtkada1 was orphaned (i.e. no longer Windows SYSAPI and SYSSVC. maintained) and also removed. The - two test programs with Ada source and maintainer for GVD did not have time to From: Ross Higson executables. either adopt libgtkada1, or port GVD to The package requires: libgtkada2. Date: Thu, 06 Nov 2003 23:19:32 +1100 Subject: Announce: Ada Terminal Emulator - GNAT 3.15p or higher, might also This is not a big problem tough, since 1.5 work with other Ada compilers. GVD has been superceded by the GNAT Newsgroups: comp.lang.ada Programming System, which is in testing - Visual C/C++ 7.0 (only for recompila- now. If, however, you would like to con- Version 1.5 of the Ada Terminal Emula- tion of SYSAPI), might also work with tribute some time to re-include GVD into tor is now available. It can be downloaded other compilers. Debian, you are most welcome to do so. from: You can download the package here: http://www.members.optusnet.com.au/ http://www.ekkehardmorgenstern.de/ From: Ludovic Brenta under: rosshigson/terminal under: ada-sysapisvc-03121501.zip

Volume 25, Number 1, March 2004 Ada User Journal References to Publications 13

Since I'm a relative Ada newbie, it'd be libraries do not provide those, and hence I sessments" by Dr. John A. Hamilton Jr., great if someone could look over it and had to write my own. I need 64-bit file Col. Kevin J. Greaney, and Gordon Ev- tell me about inconsistencies, style prob- I/O for a database project of my own (to ans. These authors describe the process lems or errors. allow for files bigger than 4 GB). developed by the U.S. Missile Defense The package has been thoroughly tested, Agency and Auburn University to evalu- but I cannot give any guarantee that it will ate the potential vulnerabilities in shared always work under any circumstance. Use References to simulation software as a means of risk at your own risk! Publications mitigation. Note: The Windows Platform SDK Next Dan W. Christenson and Lynn Sil- documentation now (02/2003) states that Crosstalk Articles ver discuss issues for tying software and asynchronous file I/O is possible with hardware together in "Developing a Sta- Windows 95, 98 and ME (i.e. the com- From: Rasmussen Karen J Contr OO- ble Architecture to Interface Aircraft to ments from some years before where it ALC/MASEA Commercial PCs." The authors introduce said it wasn't possible have been re- a development architecture that maintains moved). It could be that it's still not pos- Date: Mon, 3 Nov 2003 08:41:52 -0700 the strengths of traditional architectures sible with those OSes, I cannot verify this. Subject: The November 2003 Issue of and eliminates some of the weaknesses If you can, please notify me of the results. CrossTalk is now available on-line. and inefficiencies. From: Ekkehard Morgenstern The November 2003 issue of CrossTalk, Lastly, in our online article "The Prob- The Journal of Defense Software Engi- ability of Success," Walt Lipke explains Date: Mon, 15 Dec 2003 19:38:21 +0100 neering is now available on our Web site the statistical methods applied to the Organization: 1&1 Internet AG at: . This month earned value indicators and cost and Subject: Re: [announcement] SYSAPI and our theme is "Development of Real-Time schedule performance indexes, and intro- SYSSVC for Windows Software." We examine the additional duces a Performance Window graphic as Newsgroups: comp.lang.ada development requirements, testing, and the outcome of this application. maintenance factors that come into play > What are they? What do they do? We hope this issue of CrossTalk adds to with the nature of this often life- or your knowledge of developing real-time SYSAPI is a package that interfaces di- mission-critical software. software, including the additional soft- rectly to the Microsoft Windows API. It's First, we begin with a primer in easy-to- ware requirements inherent in critical, not a direct binding to the Windows DLLs understand terms by Dennis Ludwig titled real-time applications. Whether a begin- however; it is a DLL that interfaces to "An Introduction to Real-Time Program- ner or a seasoned developer, these articles Windows. The reason for this is that I'd ming." The author provides a thorough are intended to address the differences in like to encapsulate access to the Windows walkthrough of the considerations real- non-real-time and real-time software that API in a way that can bridge platform time programmers make regarding hard- will help you and your team build and buy dependencies. There are different plat- ware, operating system, and programming software better. forms of Windows: Windows 95, 98, ME, language options. Readers will learn Pam Bowers-Palmer, Managing Editor NT, 2000 and XP; all are distinct with about the different world in which real- distinct features, and they need special- time developers work. ized code to handle them properly. Static Verification and Next is "The Ravenscar Profile for Real- Extreme Programming I tried using the Win32Ada binding, but it Time and High Integrity Systems" by covers only Windows NT 4.0 and Win- Brian Dobbing and Alan Burns. These From: [email protected] (Rod dows 95, which are both very outdated authors present the Ravenscar model for Chapman) (from 1995). So I got the idea to write my building safe and reliable real-time sys- Subject: ANN: XP and Static Verification own. GNAT's tools for Windows DLL tems. They explain how developers using paper from SIGAda now on-line binding also seem to be outdated, and so this profile can establish high confidence Date: 14 Jan 2004 09:43:34 -0800 that's another reason for providing my levels in concurrency properties and re- Newsgroups: comp.lang.ada own abstraction. And while it would be quirements within international standards possible perhaps to create import libraries early in the development life cycle. I'm pleased to say that our paper from to use directly from Ada, I think it's better SIGAda 2003 "Static Verification and to encapsulate the system dependencies In "Software Static Code Analysis Les- Extreme Programming" is now on-line at away. sons Learned," author Andy German www.sparkada.com shares his experiences from developing SYSSVC provides an Ada server task to safety-critical, real-time systems. He de- There have been some threads recently in access the SYSAPI library from a central fines static code analysis, reviews some of this and other groups pertaining to Praxis, point, and with an Ada interface. So it's the tools, and shares lessons learned at SPARK, and the use of XP in some of our possible to write Ada programs that use The United Kingdom Ministry of De- projects such as SHOLIS and the the features of SYSAPI without knowing fense. MULTOS CA, so I hope people find this of the underlying platform (Windows in interesting. I also hope this paper might this case). I plan to port SYSSVC to other We end our theme article line up with stir up the XP community a bit... :-) platforms as well. Timothy J. Budden's article "Decision Point: Will Using a COTS Component DDC-I Online News I will also add windowing and graphics Help or Hinder Your DO-178B Certifica- support (especially for DirectX Graphics, tion Effort?' Budden describes how the From: jc formerly known as DirectDraw and Direct demands of DO-178B certification can be Date: Fri, 9 Jan 2004 12:27:32 3D), and also audio and video support. achieved with commercial off-the-shelf Subject: Real-Time Industry Updates - News I know this will take some time, but I modules if the vendor is a willing partner from DDC-I think it's a good project to contribute who understands what is expected under To: Y9DK Jan 2004 Online News something to the Ada community as well this type of grueling development and as my own projects. verification process. DDC-I Online News. January 2004, Vol- For now, it contains only file services, We begin our supporting articles this ume 5, Number 1 - [http://www.ddci.com/ namely 64-bit synchronous and asynchro- month with "Defining a Process for under: news_vol5num1.shtml] A monthly nous services. I've seen that the GNAT Simulation Software Vulnerability As-

Ada User Journal Volume 25, Number 1, March 2004 14 Ada Inside news update dedicated to DDC-I Please tell us more about your interfacing The author has done an analysis of job customers & registered subscribers. needs. offers for the period July 2002 to June Let Us Help Make Your World a Little You may also check out: 2003 that specified programming lan- Easier! http://www.acenet.com.au/~gbull/ guage requirements. XTOFF-to-ELF Conversion Tool Now This is something like JNI for Ada. I won't post the table (because I'm not Available for TADS Customers sure what the copyright issues are, and [See alsa AUJ 20-4: Interfacing Ada to anyway it's a detailed table), but the au- Thoughts from Thorkil - Endianism: Byte Java Technology -- su] thor's table claims[1] that Ada is running and Bit Numbering around the 5% mark (+/- 1%) for much of A Tale of Two Successful Projects: Pair- Indirect Information on Ada that period. ing Re-visited Usage It was interesting to note however that it From: jc increased a couple of percent in May/June [Extracts from and translation of job-ads 2003. Date: Fri, 30 Jan 2004 17:18:56 and other postings illustrating Ada usage Organization: DDC-I around the world. -- su] For comparison C++ is running at around Subject: Real-Time Industry Updates - News the 50% (+/- several %) mark, and Pascal from DDC-I From: Cas is running at around 0.2%. To: Z9 Feb2004 Online News DK Date: Thu, 18 Dec 2003 16:05:57 -0500 Subject: Sr. Embedded Software (Ada) En- [1] I use "claims" because I am finding it gineering Opportunity hard to believe that 5% of all program- DDC-I Online News. February 2004, To: [email protected] ming jobs specify Ada, however nice that Volume 5, Number 2 - would be. My viewpoint here may be [http://www.ddci.com/ under: [...] Embedded Software Engineer. tainted by the fact that I am in the UK, news_vol5num2.shtml] A monthly news Preferred Education: Master of Science in and closer to 0% appears to be a more update dedicated to DDC-I customers & Computer Science or Software Engineer- accurate figure here. [Fortunately, my registered subscribers. ing. Preferred Experience: Preferred interest in Ada is more of a personal in- Skills: - Experience with Ada-83 and terest ...] Thoughts from Thorkil - Bit Testing in other high level languages - Knowledge Integer Values of SEI CMM Level 4 standard work proc- Simon Clubley, 3rd Party Update - Ada Distilled: A Com- esses. Familiarity with avionics systems. clubley@remove_me.eisner.decus.org- pact Introduction to the Ada Program- Knowledge of MIL-STD-1553B. Earth.UFP ming Language Familiarity with cockpit display software. From: Marin David Condic A Few Good Patterns - To Help Deal with [...] Change Date: Wed, 17 Dec 2003 13:35:12 GMT http:// job.monster.be/ Subject: Re: Ada Job Market, Was: Re: SPARK Book Review Subject: BE-Brussels-Brussels-Ada 95 SIGada Conference Software developer (on Unix) Newsgroups: comp.lang.ada From: Rick Maffei [...] Currently we are looking for a: Ada My gut reaction based on prior searches 95 Software developer (on Unix) in an of Monster, et alia, would make 5% sound Date: Tue, 11 Nov 2003 12:38:38 -0500 Air Traffic Management environment. optimistic. It would also likely be *very* Organization: Lockheed Martin Corp, Val- [...] location sensitive since Ada has tradition- ley Forge PA ally been employed largely with defense Subject: John Barnes' "High Integrity Soft- http:// job.monster.be/ contractors and they're not spread across ware" Book Review Subject: BE-Brussel-Ada Software the U.S. evenly like peanut butter. Newsgroups: comp.lang.ada Engineers But assume for a moment that this is true. The latest edition of The Risks Digest ( [...] Education: Civil Engineer, Industrial C++ gets 50% and Ada gets 5%. Students newsgroup comp.risks or Engineer, Graduate in Computer Sciences exiting college are going to be looking for http://catless.ncl.ac.uk/Risks ) contains a or similar experience. Knowledge of a jobs. What skill set will they likely want short review of John Barnes' book "High programming language preferably Ada to have in order to face that market? Integrity Software". The reviewer is a 83-95 or C++. Developer & analyst de- When companies start development of regular in The Risks Digest, and in the signer, team spirit and good methodology software related tools, will they be look- years I have been reading it, I have never [...] ing to satisfy the 5% market or the 50% read a positive review of a book by Mr. market? Slade...except until today! On Creating More Ada Jobs This has the potential to be a self-fulfill- From: ing prophecy, so one should not look at it Ada Inside clubley@remove_me.eisner.decus.org- as doom and gloom, but rather as a Earth.UFP (Simon Clubley) warning. Unless Ada starts getting bigger Ada Binding to the Java Date: 16 Dec 2003 12:27:07 -0600 numbers, all the incentives are to go with Organization: Encompasserve something else. People will go with a Native Interface Subject: Ada Job Market, Was: Re: SIGada niche language if they think it is on the Conference way *UP*, but not if it appears to be on From: Wojtek Narczynski Newsgroups: comp.lang.ada the way *DOWN*. Hence, Ada needs to do something to excite the potential user > I'd like to see Ada get somewhere, but Date: Tue, 13 Jan 2004 23:56:35 +0100 community and create the impression of there needs to be a better metric than Organization: Power Media Sp. z o.o. going somewhere *new* so it starts a "get the business growth of some few com- Subject: Re: interfacing Java from Ada on board" trend. To: [email protected] panies. Jobs in Ada, new project starts > which is currently the easiest way to in Ada, classes taught in Ada, etc. interface a Java program from Ada If you have a copy of Dr Dobb's Journal code using GNAT? Any examples for October 2003, have a look at page 52. available?

Volume 25, Number 1, March 2004 Ada User Journal Ada in Context 15

From: Steve Title: Std. 1003.5-1999 Reaffirmation: olcphp/olc-i.php?olc=olc-i IEEE Standard for Information Technol- or look at time6stamp of Date: Thu, 18 Dec 2003 04:49:40 GMT ogy—POSIX ® Ada Language Inter- http://www.csv.ica.uni-stuttgart.de/ under: Subject: Re: Ada Job Market, Was: Re: faces-Part homes/ph/adapilotresources/basic_tools/c SIGada Conference 1: Binding for System Application Pro- alenday.ads Newsgroups: comp.lang.ada gram Interface (API) From: Dmitry A. Kazakov Do you realize you're trashing the lan- Scope: This standard is part of the POSIX guage with your statements? Taking news ® series of standards for applications and Date: Mon, 03 Nov 2003 11:32:02 +0100 that might be encouraging to Ada enthusi- user interfaces to open systems. It defines Subject: Re: number_base asts (the people you're likely to find on the Ada language bindings as package Newsgroups: comp.lang.ada this group) and saying it's garbage. It specifications and accompanying textual >> Has anyone in this NG written an Ada doesn't help. descriptions of the application program program that used a number base other From: Marin David Condic interface (API). This standard supports than 2, 8, 10, or 16? These days, it application portability at the source code would be hard to find an example that Date: Thu, 18 Dec 2003 13:10:47 GMT level through the binding between ISO uses base 8. Looking at current usage, it Subject: Re: Ada Job Market, Was: Re: 8652:1995 (Ada) and ISO/IEC 9945- is hard to make the case for more num- SIGada Conference 1:1996 (IEEE Std 1003.1-1996) (POSIX) ber bases. Newsgroups: comp.lang.ada as amended by IEEE P1003.1g/D6.6. > Ha, USSR produced first and last(but We will not help Ada by deluding our- Terminology and general requirements, don't sure) non-binary computer with selves into thinking everything is just process primitives, the process environ- base 3 fine. Seeing a handful of companies ex- ment, files and directories, input and out- Really!!! ;-) periencing some growth - while good for put primaries, device- and class-specific functions, language-specific services for Wasn't it actually e or Pi? I remotely re- those companies - doesn't imply that Ada member something like that. [...] is on a nice, healthy, upward spiral. If we Ada, system databases, synchronization, want to live in a rainbow, gumdrop, pastel memory management, execution sched- > I think as space-oriented, etc, ada unicorn, sugar-sweet, fairy-story land, uling, clocks and timers, message passing, should support all aliens bases, who then we can believe that Ada is doing just task management, the XTI and socket know, how many fingers they have? detailed network interfaces, event man- great and will be around and growing for Or whether that number be countable! ☺ years to come and nothing really needs to agement, network support functions, and be done. protocol-specific mappings are covered. It Dmitry Kazakov, www.dmitry- also specifies behavior to support the kazakov.de OTOH, we could get serious about what binding that must be provided by the Ada From: Lutz Donnerhacke sees Ada as something old and beyond its Purpose: See Scope. Date: Mon, 3 Nov 2003 10:33:06 useful life and not to be taken seriously If you are interested in participating in Organization: IKS GmbH Jena for the future. Given that understanding of this electronic ballot, you must respond Subject: Re: number_base reality, we might want to *save* Ada by by 2004-02-19, 11:59 PM Eastern Time Newsgroups: comp.lang.ada doing something that would create a by filling out the web-based form at > Wasn't it actually e or Pi? I remotely "New and Revitalized" impression of the http://standards.ieee.org/ under: remember something like that. language. Give Ada some major new ca- cgi-bin/bsignup/0000709 e is the most efficient base to store large pabilities that might actually reverse that Please Note: For your information, this numbers. Unfortunately hardware to the impression people have of it being over standard is approximately 900 pages. [...] base e is difficult to develop. That's why the hill. Please email your questions to the IEEE- most systems choose the next natural SA Balloting Center at sa- number around e to store date to this base. Ada in Context [email protected] From: Frank J. Lhota Reaffirmation of POSIX Number Bases Greater than Date: Mon, 03 Nov 2003 17:11:01 GMT 16 Subject: Re: number_base Ada Binding Newsgroups: comp.lang.ada From: Ted Baker From: Peter Hermann > Seriously, What's about base-60 ? Our Date: Tue, 20 Jan 2004 18:03:05 seconds/minutes/etc? (still joking) Base Subject: [Ada-Comment] reaffirmation Date: Mon, 3 Nov 2003 12:52:58 12? ballot on ada binding, need ballot- Organization: Comp.Center (RUS), U of Stuttgart, FRG The ancient Babylonians counted using ers groups of 12. The countries that Babylon To: [email protected] Subject: Re: number_base Newsgroups: comp.lang.ada traded with, of course, counted using base The POSIX 1003.5 a-c standards are due 10, creating an early standards conflict. to expire unless reaffirmed. If you would >> because of an immense practical value The Babylonians overcame this conflict like to see these standards continue (with in data processing I would like to have somewhat by making frequent use of the no changes) I hope you will consider an enlargement of the number_base number 60, the least common multiple of signing up for the balloting group, and > What are some examples of the practi- 10 and 12. The use of 60 in Babylonian pass this information along to other mem- cal value of number bases greater than mathematics lead directly to our current bers of the Ada community. [...] 16? system of measuring both time (60 min- ***** BALLOT ***** utes in an hour, 60 seconds in a minute) quite a lot of ASCII-encoding/decoding and angles (360 degrees in a full circle). The Computer Society/Portable Applica- purposes. Speaking of the ancients, should Ada be tions Standards Committee invites you to There are many examples, e.g. in GPS ballot on the following: extended to support Roman numerals? and moving map usage etc. Only two of Why can't I print 2003 as "MMIII"? them: e.g. look at *.igc-files of e.g. http://www.segelflugszene.de/ under:

Ada User Journal Volume 25, Number 1, March 2004 16 Ada in Context

Making Changes to the Lan- You can also review an article about the The cross-compiler would be built and main problem areas at run on a Windoze box (just answering guage http://www.adaic.org/ under: (one of) the obvious questions :-)). From: Robert I. Eachus learn/tech/8395comp.html From: Peter Amey cs.co.uk> Date: Mon, 03 Nov 2003 11:26:39 -0500 Multitasking Without an OS Date: Fri, 14 Nov 2003 09:53:09 +0000 Subject: Re: Clause "with and use" Subject: Re: Is it possible to build an Ada From: Tarjei T. Jensen Newsgroups: comp.lang.ada cross-compiler for an 8-bit embedded Date: Sun, 02 Nov 2003 10:45:06 +0100 target now that gcc 3.X has support for > OK, I think I'm starting to get it. Re- Subject: Re: GNAT tasking without an OS? Ada? dundant keystrokes are what make Ada To: GNAT Discussion List Newsgroups: comp.lang.ada the great language it is! I guess I was just too stubborn to see that sooner. Given that there is already a C compiler > I'd like to run my multitasking programs Now that I see the light, let me propose for your target, one approach might be to on CPU without an OS. (A small subset a way to use even more redundant key- _design_ in Ada and then use an Ada->C of Ada's tasking features would be just strokes: compiler/translator to convert the design fine for me). I've already found out that to C for compilation. In practice you can No, what makes Ada the wonderful lan- I have to adjust the gnat run-time- tie the translator and C compiler so tightly guage that it is, is the effort put into scru- system in a way that it no longer de- together that it looks like an Ada com- tinizing every proposed change to see pends on the OS's tasking system. what effects it will have on all the "-ili- piler. Have a look at RTEMS at ties," especially in this case readability The biggest problem with this approach in http://www.oarcorp.com/. and maintainability, to decide whether a general is the size of the run-time library proposed improvement really will be an From: Jose Gonzalez you need to support all of Ada (esp. task- improvement overall. [...] ing, exception handling etc.) and writing Date: Sun, 02 Nov 2003 23:13:44 +0100 such a library for a small processor. We Little Endian, Big Endian Subject: Re: GNAT tasking without an OS? have had some success in avoiding these To: GNAT Discussion List problems by using SPARK as the design From: Peter Hermann language. This gives several benefits: See http://marte.unican.es/: 1. SPARK is designed to need zero (or at Date: Wed, 17 Dec 2003 11:43:16 +0100 least very little) run-time library support Subject: Re: Little/big endian "MaRTE OS is a real-time kernel for em- so all the generated C is directly and eas- To: [email protected] bedded applications that follows the Minimal Real-Time POSIX.13 subset. ily traceable back to some SPARK source supplementary info: Most of its code is written in Ada with statement. for quick and dirty actions: some C and assembler parts." 2. Using the SPARK tools you can easily http://www.csv.ica.uni- prove the code to be exception free (e.g. stuttgart.de/homes/ph/adakurs/stream2ph. Cross-compilers for 8-bit no range violations) and this means the adb Embedded Targets translation can be greatly simplified be- http://www.csv.ica.uni- cause it does not have to include the run- stuttgart.de/homes/ph/adakurs/invert4byte From: Peter Milliken time checks that a full Ada compiler s.adb would place in the code. The SPARK Date: Fri, 14 Nov 2003 06:50:54 +1100 tools can be told how big your C int is, for for more insight: Endian-independent Subject: Is it possible to build an Ada cross- example, and can ensure there are no record representation clauses compiler for an 8-bit embedded target overflows in the translated code. Source: ACM SIGAda Ada Letters ar- now that gcc 3.X has support for Ada? 3. You can do a great deal of strong veri- chive Volume XIV, Issue 1 Jan./Feb. Newsgroups: comp.lang.ada fication on the SPARK "design model" 1994 table of contents. Pages: 27 – 29. Subject pretty much says it all. before generating the C and therefore Year of Publication: 1994. ISSN:1094- greatly reduce the cost of the testing proc- Now that you can build an Ada compiler 3641. Author: Norman H. Cohen. Pub- ess. lisher: ACM Press, New York, NY, USA using gcc 3.X (well, according to the build instructions of gcc 3.x :-)), I began We have submitted a paper to Ada Europe Porting from Ada83 to to wonder whether it was possible to build 2004 on this topic. Ada95 a cross-compiler for an 8-bit target proc- From: Randy Brukardt essor. The 8-bit processor family in ques- From: Jeffrey Carter tion is already supported by gcc (I be- Date: Mon, 17 Nov 2003 15:57:57 -0600 Date: Thu, 29 Jan 2004 18:18:39 GMT lieve). Subject: Re: Is it possible to build an Ada Subject: Re: Ada 83 to 95 When I say "possible", I just mean "fol- cross-compiler for an 8-bit embedded Newsgroups: comp.lang.ada low the cross-compiling instructions and target now that gcc 3.X has support for Ada? > Hello! I'd like to know if there is a list out pops an Ada compiler" - I don't mean, Newsgroups: comp.lang.ada of old commands in Ada 83 that can't "spend months of work patching various work in Ada 95 (Also the new ones, if files and then you might have an Ada To not answer your actual question at all, present) since I need to do a porting, compiler" :-) but... thanks in advance!! I would dearly like to convince some As someone else pointed out, the biggest The first step is to try recompiling your managers here that Ada is a reasonable cost/overhead is porting the runtime li- code with an Ada-95 compiler and see alternative to C/C++ for product devel- braries. Speaking for Janus/Ada, porting what happens. Backward compatibility opment. I don't mind spending a lot of my the code generator/compiler usually only was an important goal of the Ada-95 ef- own time re-writing my current C code in takes a month or so (and that's for build- fort. Recompiling is all you have to do Ada to help prove the point, but I need the ing a code generator from scratch). But most of the time. If you encounter specific tools to at least contemplate giving it a go building the basic runtime support for problems we can address them. :-). exceptions, tasking, floating point (which usually has to be emulated on small proc-

Volume 25, Number 1, March 2004 Ada User Journal Ada in Context 17 essors), etc. can take a lot of time. In ad- upon the lessons learned from Ada". Then the language that those vendors support is dition, that support can make programs the press, might view this as an exciting similar in important ways. If your current quite large. new technology and get the printing vendor is not supporting you well enough, Because of this, I think you'd have trouble presses rolling again. [...] try a different vendor. [...] making acceptable programs with a gen- Warren W. Gay VE3WWG I realize that changing compilers isn't eral-purpose compiler like GCC. http://home.cogeco.ca/~ve3wwg always possible. Janus/Ada was originally built for Z-80 From: Marin David Condic From: Ludovic Brenta and 8086 processors without much mem- ory. Thus, we only load floating point and Date: Tue, 27 Jan 2004 13:39:59 GMT Date: 21 Jan 2004 15:31:00 +0100 tasking support when they are used. That Subject: Re: Personality Conflict was: why Subject: Re: why ada is so unpopular ? isn't very valuable on standard systems Ada is so unpopular ? Newsgroups: comp.lang.ada like Windows these days, but it matters a Newsgroups: comp.lang.ada >> I'd like to know how Ada is popular ? lot on 8-bit systems. > In addition to the responses given, on And i which countries. I'm asking be- The only reason that we don't support 8- the thread "why Ada is so unpopular", cause I live in Poland and here I could- bit processors is a lack of demand. Every- we must remember that it never n't find any firm that use it. one seems to use a different processor, > Well, I wouldn't say that Ada is un- and thus we cannot really justify the in- Ada might have done better with two simple overriding rules: A) Know who popular. There are other factors to take vestment building code generators (easy) into consideration: and runtime libraries (not as easy) for your customer is. B) Figure out how to make that customer unbelievably happy. 1) Management don't know about Ada. each one. 2) Management tend to want the pro- Of course, we're always interested in Ada bungled the job with embedded de- grammers to use languages that are the customization projects, but that won't help velopers early on because it didn't pay current fad, i.e. C/C++. you convince your manager... attention to the needs of the guys in the trenches who were doing the job and had In my view their attitude is more cynical Promoting Ada the ability to say to any management: "If than that. [...] They don't mind that their you make me use Ada, I can't get the job language of choice has an adverse effect on the quality of software, because they're From: Warren W. Gay VE3WWG done" (They may not have the power to interested in selling bug fixes, upgrades select the language, but they sure have the and maintenance. They also don't mind Date: Thu, 13 Nov 2003 12:49:02 -0500 veto power over a language! ;-) In the that disposable programmers will produce Subject: Re: Re-Marketing Ada (was "With early days it was too big, too slow, too disposable software. They're in fact quite and use") buggy and too expensive - not to mention happy about it. [...] I hope there are still Newsgroups: comp.lang.ada it didn't provide features that the garden variety embedded developer considered companies that try to produce quality > So we've got another language revision essential to getting the job done. software. coming out. The problem is it is more > 3) I had to learn Ada at uni and I had no of an "incremental" revision - relatively As languages go, Ada probably had more idea about before then. I actually love minor enhancements to the language money thrown at it than any other lan- the language, It has so many features rather than anything new and big with guage in history. It should have used not found anywhere else that are (IMO) respect to capabilities. If Ada had some some of that money on "Market Re- necessary for development. revolutionary new thing to offer, it search". might have something to hype within O.K. So the pooch got screwed on that Yes. Furthermore, I have found that peo- the media. (Like if it had a library that one. How to fix it now? Start with (A) ple who learn Ada often change their at- went beyond what people traditionally above - figure out what market you want titude regarding software development. expect?) If it had something *new* to address. Then go to (B) - Ask people in They no longer want to develop junk, disposable software; instead they want to I think most of us would agree that Ada that market what they want out of a lan- develop quality software that lasts. [...] was ahead of its time when it came out. guage. Maybe offer them some sugges- [...] Even in 1995 (including up to pre- tions for possible new and wonderful ca- > 4) Programmers learn what is required sent) the kind of thing you hear now is "I pabilities, and find out what they say. of them. remember Ada". Immediately the asso- Figure out what they need to get the most 5) The DoD (supposedly) dropped all ciation is that it is "old", even though C is possible leverage from the language and support for Ada and this then looks (to just as old (younger folks often haven't give it to them. the outsider) that the language is dead. even heard of it, unless the University That's not exactly rocket science, eh? :-) I think that if enough programmers get taught it). to know Ada, I think that better pro- From: Randy Brukardt gramming standards will emerge, but Even though Ada has been updated, and it's up to those who know it and those going through another update, people Date: Mon, 26 Jan 2004 20:26:14 -0600 who can tell others about it to spread seem to remember it as a "once was" Subject: Re: Personality Conflict was: why the word and make sure that others start technology. [...] Ada is so unpopular ? to use it. I think one possible prong of a concerted Newsgroups: comp.lang.ada I would like to see more free software new Ada marketing campaign needs to Perhaps. Economics says that you can't developed in Ada. The free software be: "Ada is still ahead of its time" [...] or give the same service to free customers as world does not try to produce disposable some such. you do to ones that pay money, or pretty software, and therefore would benefit Somehow we have to shake this impres- soon you don't have any paying custom- from a language that helps improve qual- sion that Ada is old, outdated, fat or ugly. ers. ity. Perhaps, that way, Ada will become a I have said this before, if Ada was mar- Are any of these other languages main- little bit more mainstream. keted by a company, the best approach tained by commercial companies without might be to rename the technology with significant other products? Ada and Supercomputers some improvements. Then in the fine Ada (the language) is built around the print say something along the lines of From: Warren W. Gay VE3WWG notion of multiple vendors competing for "The X language was based primarily your business with some assurance that

Ada User Journal Volume 25, Number 1, March 2004 18 Ada in Context

Date: Mon, 24 Nov 2003 17:05:52 -0500 On the Success of SPARK think the evidence is overwhelming that Subject: New Language Design: (Cray, Sun it will fare quite badly, meaning it will prep radical software models for peta- From: Vinzent 'Gadget' Hoefler cost more and/or take more time and/or flops systems) and have more residual errors. Newsgroups: comp.lang.ada Date: Fri, 12 Dec 2003 08:51:19 -0800 > Sounds interesting. Can you provide Full article at Subject: Re: SPARK gets another fan references to such evidence, obtained http://www.eet.com/story/OEG20031119 Newsgroups: comp.lang.ada under the stated conditions? S0013 > This is from the latest "Embedded Muse I think the Ada and SPARK communities > Getting high-end computer users to 90", an e-newsletter put out by Jack can, which is why I've added rally around a new language will be a Ganssle (he gives permission for non- comp.lang.ada to this thread. For exam- tough job given past failures with lan- commercial redistribution): ple, here's reference to a 100:1 residual guages such as Ada, HPF and Prolog, Yeah. SPARK seems to reach some audi- error reduction between C and SPARK, said Zima. Therefore, he said, the Cray ence. Yesterday Rod mentioned that the and a 10:1 reduction between C and Ada, team will also show ways of extending current edition of John's "High Integrity with all code having been previously cer- Fortran and C++ to deliver the same Software" sold better than the first one. tified to DO178B level A: functionality the new language could Whatever this means when expressed in http://www.sparkada.com/ under: offer. numbers – it can't be too bad. ☺ downloads/Mar2002Amey.pdf I find it interesting that they classified Ada Support Some more interesting reading (note that "Ada" as a failure, and are looking at MISRA acknowledges that there are bet- ways to extend "Fortran" (of all things) ter languages than C for safety-critical and C++. [...] From: David Starner Date: Tue, 27 Jan 2004 01:06:54 GMT work): Warren W. Gay VE3WWG Subject: Re: Personality Conflict was: why http://www.sparkada.com/ under: http://home.cogeco.ca/~ve3wwg Ada is so unpopular ? downloads/misracatsil4reader.pdf Newsgroups: comp.lang.ada From: Marin David Condic This document has a table of language > And certainly, complaining about bugs recommendations (search for "Language Date: Tue, 25 Nov 2003 13:05:46 GMT in a "free" product is counter-produc- Recommendations (IEC 1508)" ). C is Subject: Re: New Language Design: (Cray, tive. You get what you pay for, and if only recommended for SIL1, while it is Sun prep radical software models for you want bugs fixed in a timely man- not recommended for SIL3 and SIL4: ner, you need to pay (someone) for that petaflops systems) https://www.cis.strath.ac.uk/ under: Newsgroups: comp.lang.ada service. Otherwise, you are hoping that some paying customer runs into the teaching/ug/classes/52.422/programming.l Depending on what one wants to use as a same problem - and there is no guaran- anguages.doc measure of "Success" - one might judge tee of that. From: David Emery Ada to be a failure. Ada was supposed to Date: Fri, 26 Dec 2003 19:42:46 -0500 be designed for embedded software de- If I have a bug in GCC, it generally gets fixed in a timely manner. If it's important Subject: Re: Certified C compilers for velopment and was supposed to be used safety-critical embedded systems for mission critical DoD applications. By enough, a patch may get back-ported from the mainline to the release branch by De- Newsgroups: the first goal, Ada is a miserable failure comp.arch.embedded,comp.lang.ada when "other" ranks higher than "Ada" in bian developers (which is purely a volun- just about every survey of embedded de- teer position.) To me, submitting a bug to Several people have asserted the argu- velopers when asked "What language do a developer is a courtesy; it's usually easy ment that the large number of users of a you use?" As for the "Mission Critical to work around the bug then write up a given tool implies quality in that tool. DoD" apps? The developers had to be good bug report, but writing up a bug I don't buy it. By this logic, MS Windows drug into Ada kicking and screaming and report means a better program for every- should be absolutely flawproof, and the as soon as The Mandate was lifted they one. [...] infamous Pentium Divide bug should began to abandon it in droves. So by those If I can't get the same service from my never have happened. measures, Ada is a failure. [...] Ada compiler as I do from my C com- No amount of usage can make up for de- From: Ludovic Brenta piler, that is a valid reason to change lan- sign flaws. Popularity is much less about guages. technical qualities than it is about mar- Date: 24 Nov 2003 23:40:21 +0100 keting. C, Windows, x86 chips have sub- Subject: Re: New Language Design: (Cray, Developing Safety-Critical stantial market share, which is not the Sun prep radical software models for Applications same as saying that they have substantial petaflops systems) quality by design. Newsgroups: comp.lang.ada From: [email protected] (Mike Silva) Date: 22 Dec 2003 21:06:08 -0800 From: Chris Hills Ada would be a perfect fit. Ada already Date: Sat, 27 Dec 2003 16:15:27 +0000 has tasking built-in for intra-node com- Subject: Re: Certified C compilers for safety-critical embedded systems Organization: Phaedrus Systems munications, and it has a Distributed Subject: Re: Certified C compilers for Systems Annex for inter-node communi- Newsgroups: comp.arch.embedded,comp.lang.ada safety-critical embedded systems cations. I think that creating an optimised Newsgroups: Ada run-time environment for massively >>> As for using C, it is a simple lan- comp.arch.embedded,comp.lang.ada parallel supercomputers is both feasible guage that can be and is used safely by and highly desirable. many people. > Several people have asserted the argu- ment […]. Furthermore, I think Cray's input into the >> I think a more interesting question is: Ada revision process would be extremely given a particular quality of program- We are in comp.arch.embedded...... Ms valuable; perhaps some extensions to the ming talent and fixed amounts of time Desktop tools are not relevant. Besides standard would help get the most out of and money, how will software written AFAIK their license excludes any safety NUMA architectures. [...] in C fare against software written in critical use. GNAT on Crays anyone? "better" (as determined by safety-criti- > No amount of usage […]. cal industry consensus) languages? I

Volume 25, Number 1, March 2004 Ada User Journal Ada in Context 19

Correct for the desktop tools but among reasons. All we ever hear are: "there are will normally be a superset of those satis- *Embedded* tools it does especially lots of C programmers around"; "we only fied by the "equivalent" Ada program.) where the aim is to go for the high reli- ever employ the best people and they Does this make the C program better? I ability market. don't make those kinds of mistakes"; and, don't think so. I am much more concerned From: Stephen Leake the falsehood, "C, with suitable support that set of specifications satisfied includes tools, is as good as anything else". the "real" specification, which often in- Date: 26 Dec 2003 20:58:12 -0500 We don't take this view because we have cludes requirements omitted from the Subject: Re: Certified C compilers for alternative tools, we have alternative tools original written specification. Ada does a safety-critical embedded systems because we take this view! [...] much better job of identifying these im- Newsgroups: comp.lang.ada > So whilst straight Ada *is* better than plicit requirements and getting them for- > That is the problem. A non-validated vanilla C. No one would debate that! malized. Ada compiler would be no more value Spark Ada is no better than C with a [...] Formal proofs of correctness are than a good C compiler. [...] subset, coding standard and using static worthless if the requirements are not The version of Ada most likely to run on analysis.... IE much the same con- complete. I like a language that asks the 8 bit machines would have no tasking, no straints as SPARK Ada has over Ada... questions that the specification forgot. exceptions, and possibly no floating or Fundamental misconception. SPARK is From: Scott Moore fixed point, or dynamic dispatching. That wholly unambiguous and therefore ana- would still be a far better language than lyseable in a formal and mathematical Date: Thu, 08 Jan 2004 10:13:40 GMT C! Packages, generics, strong typing in sense. An un-annotated subset of C Subject: Re: Certified C compilers for general, aggregates, representation _cannot_ have this property. Analysis of safety-critical embedded systems clauses; none of these make demands on such a language can, therefore, only result Newsgroups: the run-time environment, but all are very in the _detection_ of certain kinds of er- comp.arch.embedded,comp.lang.ada powerful programming language features. ror, it cannot _prove_ that they have been "safety critical C" is an oxymoron if I > Actually a good C compiler eg the Keil eliminated. ever heard one. C51 that has been extensively used in > I know of projects using C in Railway, safety related projects by a large num- space, aero and medical projects. Ada vs. Borland Builder ber of people would be better simply Use, even widespread use, does not imply From: Szymon Guz because of the empirical field usage suitability. [...] compared to a non-validated Ada com- Date: Fri, 30 Jan 2004 00:50:17 +0100 Well, if by "better" you solely mean Date: Sat, 27 Dec 2003 16:33:47 -0500 Organization: tp.internet - http://www.tpi.pl/ "more trusted", or possibly "more thor- Subject: Re: Certified C compilers for Subject: Ada & Builder oughly tested", I would agree. But I'd still safety-critical embedded systems Newsgroups: comp.lang.ada use the Ada compiler, and write thorough Newsgroups: Lately I started a rather huge project and unit tests. I don't trust _any_ compiler to comp.arch.embedded,comp.lang.ada not have bugs when running _my_ code. now I'd like to implement this. That's the > That seems obvious. It's possible to main problem. I don't know what to From: Peter Amey errors. It may be easier to write a all I'd like to make the program work un- Date: Sun, 28 Dec 2003 10:15:43 +0000 SPARK program with no residual er- der both Linux and windows but that's not Subject: Re: Certified C compilers for rors, but there's no law that says C pro- a problem. The real problem is that I need safety-critical embedded systems grams have to have more errors. to make some windows in the program. If Newsgroups: I implement it in Ada then I'll have to use comp.arch.embedded,comp.lang.ada But is it possible to write a C program and an Ada program which implement the for example GtkAda but Gtk doesn't look I would much rather concentrate on tech- same algorithm with no residual errors? nice, what's more for example glade is so nical issues here (for example, why deep unstable that it can crash while working static analysis of _any_ general-purpose My experience indicates that it is not. with that. I'd rather use some stable appli- language is impossible; or, why systems This is not saying that you can't build an cation for developing software. If I of integrities in the better-than 10e-6 fail- Ada to C translator, or a C to Ada trans- choose Builder I'll have to write it in C++ ures per hour class _require_ deep static lator, although the first has been done and that is what I want to avoid too. In analysis); [...] several times, and the second would be work I use Builder and Kylix and I must much harder. The problem is that if I have > AFAIK they did not make their SPADE say that using it is quite easy and nice but a C program "in hand" and go to translate debugging takes ages so I'd like to use C results available to the MISRA-C it into Ada, there are usually hundreds of working group who for the last 3 years Ada. Well, what do you think, what questions that I end up asking. Some of should I do ? have been working on MISRA-C2. them may be answered in the specifica- Wrong. We did. Unfortunately the rather tion for the C program--assuming that From: Stephen Leake stern view we took of what was needed to such a specification exists. Date: 29 Jan 2004 20:29:30 -0500 make C fully-analyseable (basically, a The net result is that even if I start out to Pascal subset in C syntax) was not seen as Subject: Re: Ada & Builder write identical programs in C and Ada, Newsgroups: comp.lang.ada being compatible with the apparent aim of the Ada program ends up much more the committee: as much C as possible tightly specified. Whether these additional Use Ada and GtkAda, but not Glade. It's with the minimal restrictions needed to specifications are meaningful in terms of quite easy, once you get used to it. plug the biggest holes. [...] the intent of the program, or are just "ac- GtkAda has ways of implementing cus- We don't rubbish C. We rubbish magic cidental" over-specification due to the fact tom look & feel, so you can make it look where logic is to be preferred. We have that Ada asks the question and it is easier as "nice" as you want. well-articulated reasons for saying that C to answer it than dodge it, the Ada and C From: James E. Hopper is not well suited for constructing high- programs implement two different speci- integrity systems. The proponents of C for fications. (Or to be formal, the set of Date: Fri, 30 Jan 2004 04:21:20 GMT this purpose never seem to present their specifications that the C program satisfies

Ada User Journal Volume 25, Number 1, March 2004 20 Ada in Context

Organization: Road Runner High Speed package i Subject: Re: the history of Ada Online http://www.rr.com is Newsgroups: comp.lang.ada Subject: Re: Ada & Builder type xo Some links Newsgroups: comp.lang.ada is range http://archive.adaic.com/ under: Yes I have been using Glade for Gtk for a (%**%(1,2:0: * docs/flyers/history.html while, but in my latest project i got tired 8:1:)).."**"(3 of it and decided to just use the GtkAda http://unicoi.kennesaw.edu/ under: example code to help me do it by hand. it , (7:3:+0)/9#1#-1) ase/ase02_01/docs/pol_hist/history/histad seems to work fine. ;end; a.txt

By the way GtkAda lets you run on Mac http://www.learnada.com/history.htm OS x (which is what I use) and not just procedure p Linux and Windows. is Packed Data From: Preben Randhol type rec (d: natural) From: David C. Hoos pvv.org> is null record; Date: Fri, 13 Feb 2004 15:06:53 -0600 Date: Fri, 30 Jan 2004 08:21:58 protected type pt To: GNAT Discussion List Organization: PVV (e:integer) is private Subject: Re: Ada & Builder f:rec(e) ;end; protected Subject: Re: unchecked conversion and Newsgroups: comp.lang.ada body pt is end; begin null pragma pack This is not true at all. Firstly use GtkAda ;end; >>> Is there a way to determine which 2 (not Gtkada 1). Secondly if you are bytes that are added by the compiler developing for both windows and Linux generic when applying an unchecked conver- why don't you also develop the program sion from a record to an array of bytes? *in* Linux? You will see that it is much package abc easier and better than using Windows. is generic >> Try using -gnatR to dump the repre- Thirdly it is hogwash to say that GtkAda with package sentation for all records and various doesn't look nice. Look at the screenshots other types. It's quite handy for deter- de is mining this sort of thing. Gnat also has here and explain to me what isn't nice: new abc http://gtk- very complete representation specifica- wimp.sourceforge.net/screenshots/ and if ( <> ) tion support, so you probably can make you don't like this theme you can always ; procedure a record layout that matches your leg- choose a different from here: l ; acy system. See the GNAT Reference http://art.gnome.org/themes/gtk2/index.ph end ; Manual. p or make your own theme. I'd say use > Hello Chris! My mistake, I was not Ada and GtkAda. [...] From: Ludovic Brenta clear enough. What I'm after is to de- From: Alexandre E. Kopilovitch termine which bytes the compiler added Date: 10 Dec 2003 22:30:49 +0100 for padding _at runtime_. I want to fig- Date: Fri, 30 Jan 2004 18:46:52 Subject: Re: Happy Birthday Ada ure out which bytes I should skip, in Subject: Re: Ada & Builder Newsgroups: comp.lang.ada my code. In my example, I had a Newsgroups: comp.lang.ada Byte_Array of size 22, which of 2 bytes Cool, the first ever obfuscated Ada pro- were padding bytes. I want to pass all Perhaps you should make a prototype gram! [...] but these 2 bytes into another with Kylix, and then decide whether to byte_array of size 20, for later treat- continue with Kylix for you product or The History of the Ada Lan- ment. This array would then correspond switch to Ada, using the experience, guage what the first array would look like which you gained with your Kylix-based without padding bytes. So I guess I'm prototype for design of Ada/GtkAda- From: Jerry Petrey wondering if there is an algorithm to based product. use, stating 'a record of 2 integers and a Alexander Kopilovitch, Date: Wed, 28 Jan 2004 15:55:51 -0700 string(10) will always be padded with 2 [email protected] Organization: Raytheon Company bytes after the second integer' or Subject: Re: the history of Ada something like, 'All byte(22) you find Ada Art Newsgroups: comp.lang.ada are padding bytes' > where can I find some information >> You ought to be able to use shared From: Dan Eilers about the history of Ada ? I mean the memory to pass packed or unpacked re- Date: Wed, 10 Dec 2003 11:41:12 -0800 programming language, not Ada Byron cords between programs made with the Subject: Happy Birthday Ada King. same compiler. You can use S'Size to Newsgroups: comp.lang.ada Here are just a few sources: check subtype size in the code. Augusta Ada Byron was born on > Yes I can, and I do, but I'm as you say December 10, 1815. http://www.cs.fit.edu/~ryan/ada/ada- hist.html restricted to the same machine, com- MIL-STD-1815 Ada was born on piled with the same version of the com- December 10, 1980. http://www.adahome.com/History/ piler. p.s. some fun Ada art intended for view- http://www.learnada.com/history.htm >> Different compilers, alignment re- ing with mono-spaced font: http://archive.adaic.com/pol-hist/ quirements and possibly byte-order is- From: Preben Randhol sues will bite you in network IPC. That is why I'd like to use soap. pvv.org> >> This is one of the reasons so many Date: Wed, 28 Jan 2004 22:57:53 internet protocols use plain ASCII text. Organization: PVV Encoding all of your IPC into XML

Volume 25, Number 1, March 2004 Ada User Journal Ada in Context 21

ought to be safe, but don't expect high To: GNAT Discussion List for Suns but I don't know what x86 boxes message rates. There are network safe do.) encoding like the XDR library, but I am > Has anybody got a success story with However, this is usually only significant not aware of Ada bindings or imple- getting gnat to compile code containing if you implement your own low-level mentations of them. tasks that map onto Linux threads, thus synchronization routines (e.g. non-block- > I'm thinking of using the soap imple- managing to use 2 or 4 processors on an ing synchronization). If you use the nor- mentation in Ada Web Server (AWS) SMP board, e.g. dual Xeons or Ath- mal high-level features like protected Since Ada95 (and specifically gnat) sup- lons? I'd just like to know that it is pos- objects etc there should be no problems. ports distributed programming across sible. From: Simon Wright heterogeneous machines (Annex E), a I have successfully run multithreaded Ada solution to your problem already exists. programs compiled with GNAT 3.14p and Date: Wed, 12 Nov 2003 21:48:46 GMT The Glade version of the Sys- 3.15p on (among others) a 6 processor Subject: Re: x86, 586,686 SMP etc. tem.Stream_Attributes package (file s- SunFire 880 running Solaris and on a 2- To: GNAT Discussion List stratt.adb) contains an endianness-inde- processor SPARCstation 10 running pendent implementation. If you replace Linux (kernel 2.2.19). > Has anybody got a success story with the standard gnat version with the version I can't see why there should be any prob- getting GNAT to compile code con- which comes with glade, and recompile lem on SMP x86 machines. (Except that taining tasks that map onto Linux the Gnat runtime, you can then write out the pthreads library on Linux is changing threads, thus managing to use 2 or 4 your data structures on any platform, and now and that might require adjustments in processors on an SMP board, e.g. dual read them on any platform. the runtime, so a bleeding edge Linux Xeons or Athlons? kernel and an old compiler might not This machine is a dual Celeron (Abit Multitasking on Multiproc- work well together.) mobo), Mandrake 8.2, kernel 2.4.18- essors Also be aware that the memory consis- 6mdksmp: GNAT tasking has used both tency provided by a modern SMP box processors with no trouble, certainly with From: Anders Gidenstam might not be what you expect, so memory 3.14p, 3.15p, 3.16a1 (not sure whether writes performed on one processor may I've tried 5.01a yet). Date: Wed, 12 Nov 2003 18:24:16 not become visible to the other in the or- Subject: RE: x86, 586,686 SMP etc. der they were made. (This is certainly true

Ada User Journal Volume 25, Number 1, March 2004 27 Instructions to the ARG for Preparation of the Amendment to ISO/IEC 8652 ISO/IEC JTC1/SC22/WG9, Document N412, 10 October 2002 The ARG is instructed to prepare a working draft of an competitive with other languages? amendment to ISO/IEC 8652. The main purpose of the - Interoperability. Does the proposed feature ease Amendment is to address identified problems in Ada that problems of interfacing with other languages and are interfering with Ada's usage or adoption, especially in systems? its major applications areas (such as high-reliability, long- lived real-time and/or embedded applications and very - Language consistency: Is the provision of the feature large complex systems). The resulting language changes syntactically and semantically consistent with the may range from relatively minor, to more substantial. language's current structure and design philosophy? Examples of worthwhile changes are: In order to produce a technically superior result, it is permitted to compromise backwards compatibility when - inclusion of the Ravenscar profile; the impact on users is judged to be acceptable. - inclusion of a solution to the problem of mutually The use of secondary standards should be minimized; dependent types across packages. secondary standards should be proposed only when they The ARG is requested to pay particular attention to the would include material so important as to require following two categories of improvements: standardization but so voluminous as to preclude inclusion in the Ada language standard. In particular, material similar (A) Improvements that will maintain or improve Ada's to the current ISO/IEC 13813, Generic Packages of Real advantages, especially in those user domains where and Complex Vector and Matrix Type Declarations and safety and criticality are prime concerns; Basic Operations for Ada, should be incorporated into the (B) Improvements that will remedy shortcomings in Ada. language standard. Improvements in the real-time features are an example of WG9 targets the following schedule for the development of (A) and should be considered a high priority. the amendment: Improvements in the high-integrity features are an example - Dec 2002: Presentation at SIGAda, providing for of (A) and should be considered a high priority. Features discussion groups and feedback. that increase static error detection are an example of (A) - Jun 2003: Similar presentation at Ada-Europe and should be considered a priority, but less important than the two listed above. - Sep 2003: Receipt of the final AIs from groups other than WG9 or delegated bodies Improvements in the facilities for interfacing to other languages are an example of (A) and should be considered. - Sep 2003: Presentation at IRTAW Improvements in the object-oriented features—specifically, - Autumn 2003: Presentation at SIGAda adding a Java-like interfaces feature and improved - Dec 2003: Receipt of the final AIs from WG9 or interfacing to other OO languages—are an example of (B) delegated bodies and should be considered. - Jun 2004: WG9 approval of the scope of amendment In selecting features for inclusion in the amendment, the (perhaps by approving AIs, perhaps by reviewing draft ARG should consider the following factors: amendment) - Implementability (vendors concerns). Can the proposed - Informal circulation of draft, receipt of comments and feature be implemented at reasonable cost? preparation of final text - Need (users concerns). Does the proposed feature - Spring 2005: Completion of proposed text of fulfill an actual user need? amendment to be contributed to WG9 - Language stability (users concerns). Would the - Mid 2005: WG9 email ballot proposed feature appear disturbing to current users? - 3Q 2005: SC22 FPDAM ballot - Competition and popularity. Does the proposed feature help improve the perception of Ada, and make it more - Late 2005: JTC1 FDAM ballot

Ada User Journal Volume 25, Number 1, March 2004 28 Comments on: “Instructions to the ARG for Preparation of the Amendment to ISO/IEC 8652” James W. Moore The Mitre Corporation, [email protected], ISO/IEC JTC1/SC22/WG9 Convener, Document N423, 20 December 2002 Background – inclusion of a solution to the problem of mutually dependent types across packages.” - The ARG (Ada Rapporteur Group) performs Ada language maintenance. WG9 makes two specific requests of the Amendment: - They make recommendations for formal – Ravenscar Profile standardization to WG9 for national body voting. – Solving problem of mutually dependent types - The ARG has been assigned the responsibility to Two Categories of Improvement draft the language amendment. “The ARG is requested to pay particular attention to the - In October 2002, WG9 prepared instructions to the following two categories of improvements: ARG governing this work: “N412 Instructions to the (A) Improvements that will maintain or improve Ada's Ada Rapporteur Group from SC22/WG9 for advantages, especially in those user domains where Preparation of the Amendment to ISO/IEC 8652, 10 safety and criticality are prime concerns; October 2002” (B) Improvements that will remedy shortcomings in Ada.” - This presentation reproduces those instructions and provides my comments. Amendment should build on Ada’s advantages, particularly for safety and criticality. Purpose Amendment should remedy shortcomings. WG9 removed “The ARG is instructed to prepare a working draft of an the words “with respect to other languages” suggesting that amendment to ISO/IEC 8652. The main purpose of the we should not focus on feature-by-feature match-up with Amendment is to address identified problems in Ada that other languages. are interfering with Ada's usage or adoption, especially in its major applications areas (such as high-reliability, long- Suggested Prioritization lived realtime and/or embedded applications and very large “Improvements in the real-time features are an example of complex systems). The resulting language changes may (A) and should be considered a high priority. range from relatively minor, to more substantial.” Improvements in the high-integrity features are an example - The purpose of amendment is to address identified of (A) and should be considered a high priority. Features problems. WG9 rejected wording calling for language that increase static error detection are an example of (A) update and support of new paradigms. and should be considered a priority, but less important than the two listed above. Improvements in the facilities for - The phrase “usage or adoption” suggests appeal to both interfacing to other languages are an example of (A) and current and prospective users. should be considered. Improvements in the object-oriented - Ada’s “major application areas” are identified. features—specifically, adding a Java-like interfaces feature and improved interfacing to other OO languages—are an - Substantial language changes are permitted. This example of (B) and should be considered.” wording steers a middle course between requiring substantial change and prohibiting substantial change. (A) Build on Ada’s advantages, particularly for safety and This presentation quotes the complete text of the criticality instructions. In some cases, I offer my comments on – Real-time features the intent or significance of the instructions. – High-integrity features Two Specific Improvements – Static error detection “Examples of worthwhile changes are: – Interfacing to other languages – inclusion of the Ravenscar profile; (B) Remedy shortcomings

Volume 25, Number 1, March 2004 Ada User Journal J Moore 29

– Object-oriented features—specifically, adding a Java- I interpret this instruction as saying that the Amendment is like interfaces feature and improved interfacing to permitted to be less strict than the Ada 95 revision in other OO languages maintaining backward compatibility. The instructions create three priority levels: - The voting on this section was close, suggesting that “acceptable impact” may be closely judged. – High Priority • Real-time features Secondary Standards • High-integrity features “The use of secondary standards should be minimized; secondary standards should be proposed only when they – A priority but less important would include material so important as to require • Increase static error detection standardization but so voluminous as to preclude inclusion in the Ada language standard. In particular, material similar – Should be considered to the current ISO/IEC 13813, Generic Packages of Real • Interfacing to other languages and Complex Vector and Matrix Type Declarations and Basic Operations for Ada, should be incorporated into the • Object-oriented features—specifically, adding a language standard.” Java-like interfaces feature and improved interfacing to other OO languages. - Minimize secondary standards. This list is notable, not only for the prioritization, but also - A rationale for use of secondary standards is provided. for what is missing. WG9 considered adding “design by - Move function of ISO/IEC 13813 into the language contract features” to the list but decided not to add it. No standard. other categories of features were considered. Schedule Considerations in Selection “WG9 targets the following schedule for the development “In selecting features for inclusion in the amendment, the of the amendment: ARG should consider the following factors: - Dec 2002: Presentation at SIGAda, providing for – Implementability (vendors concerns). Can the proposed discussion groups and feedback. feature be implemented at reasonable cost? - Jun 2003: Similar presentation at Ada-Europe – Need (users concerns). Does the proposed feature - Sep 2003: Receipt of the final AIs from groups other fulfill an actual user need? than WG9 or delegated bodies – Language stability (users concerns). Would the - Sep 2003: Presentation at IRTAW proposed feature appear disturbing to current users? - Autumn 2003: Presentation at SIGAda – Competition and popularity. Does the proposed feature help improve the perception of Ada, and make it more - Dec 2003: Receipt of the final AIs from WG9 or competitive with other languages? delegated bodies – Interoperability. Does the proposed feature ease - “Jun 2004: WG9 approval of the scope of amendment problems of interfacing with other languages and (perhaps by approving AIs, perhaps by reviewing draft systems? amendment) – Language consistency: Is the provision of the feature - Informal circulation of draft, receipt of comments and syntactically and semantically consistent with the preparation of final text language's current structure and design philosophy?” - Spring 2005: Completion of proposed text of “Uniqueness and innovation” was considered as a criterion, amendment to be contributed to WG9 but was not included. - Mid 2005: WG9 email ballot Backwards Compatibility - 3Q 2005: SC22 FPDAM ballot “In order to produce a technically superior result, it is - Late 2005: JTC1 FDAM ballot.” permitted to compromise backwards compatibility when the impact on users is judged to be acceptable.” Results - Compromise of compatibility may be considered. - Most notable result is the repeated emphasis on safety - It was difficult to reach agreement on wording here. and criticality as Ada’s niche. - Despite spirited discussion, WG9 approved the instructions by a unanimous vote of all nations who cast a ballot (six of them

Ada User Journal Volume 25, Number 1, March 2004 30 Proposal for Defining Scope of Amendment to ISO/IEC 8652:1995 Pascal Leroy IBM France, [email protected], ISO/IEC JTC1/SC22/WG9 ARG Rapporteur, Document N437 Introduction Both AI95-00217 and AI95-00326 are required to solve the problem of mutually dependent types across packages. Excerpts from document N412 appear below in bold font. However, in isolation, they would lead to proliferation of My additional comments appear in regular font. I have access types and conversions between these types. AI95- added a few bulleted subcategories in cases where N412 00230 addresses this second problem. only gave broad advice and a few examples. The ARG is requested to pay particular Because we are arguing about scope, not AIs, I only give AI numbers, not version numbers or dates. attention to the following two categories of improvements: (Note by the editor: The author has requested to advise the reader that the contents of this document as for discussion (A) Improvements that will maintain or improve only and do not represent the position of the ARG.) Ada's advantages, especially in those user domains where safety and criticality are prime The AIs that are not marked with a symbol have been concerns; approved by WG9, or approved by the ARG and will go to • Improvements in the real-time features are an the next WG9 meetings. example of (A) and should be considered a high The AIs that are still in the works are marked with one of priority. the following symbols after their number: † This AI still needs a bit more work before it can go to AI95-00297† Timing events WG9, but its technical content is well-defined and AI95-00307† Execution-Time Clocks believed to be sound (15 AIs). AI95-00321 Definition of dispatching policies AI95-00327† Dynamic ceiling priorities ‡ This AI still needs substantial work before it can go to AI95-00353 New Restrictions identifier WG9, and its technical content is still in a state of flux. No_Synchronous_Control The reason why it’s still alive is that the ARG sees AI95-00354† Group Execution-Time Budgets sufficient value in the ideas being proposed, and AI95-00355‡ Priority Specific Dispatching including therefore wants to study them some more before Round Robin making a final decision. Note that there is no firm AI95-00356‡ Support for Preemption Level Locking consensus on these AIs yet, as many people want to Policy see the AI mature before forming an opinion (7 AIs). AI95-00357‡ Support for Deadlines and Earliest Deadline Examples of worthwhile changes are: First Scheduling All these AIs come from the IRTAW, so they are supposed • inclusion of the Ravenscar profile; to reflect the needs of the run-time community.

AI95-00249 Ravenscar profile for high-integrity systems • Improvements in the high-integrity features are AI95-00265 Partition Elaboration Policy for High- an example of (A) and should be considered a Integrity Systems high priority. AI95-00305 New pragma and additional restriction AI95-00249 and AI95-00305 together define the language AI95-00266† Task termination procedure features corresponding to what is known in the vernacular AI95-00347 Title of Annex H as the “Ravenscar profile”. While not strictly part of Note that the Ravenscar profile mentioned above is actually Ravenscar, AI95-00265 was motivated by practical usage a capability that relates to the high-integrity usage of Ada. of the Ravenscar profile. • Features that increase static error detection are • inclusion of a solution to the problem of an example of (A) and should be considered a mutually dependent types across packages. priority, but less important than the two listed above. AI95-00217 Limited With Clauses AI95-00230 Generalized use of anonymous access types AI95-00218 Accidental overloading when overriding AI95-00326 Incomplete types

Volume 25, Number 1, March 2004 Ada User Journal P Leroy 31

AI95-00231 Access-to-constant parameters and null- excluding access subtypes AI95-00251 Abstract Interfaces to provide multiple AI95-00262 Access to private units in the private part inheritance AI95-00287 Limited Aggregates Allowed AI95-00252 Object.Operation notation AI95-00310 Ignore abstract nondispatching subprograms AI95-00345‡ Protected and task interfaces during overloading AI95-00348 Null procedures AI95-00318‡ Returning [limited] objects without copying Support for Java-like interfaces is provided by AI95-00251, AI95-00363† Eliminating access subtype problems AI95-00345 and AI95-00348. AI95-00252 adds support for AI95-00218 addresses a problem that can lead to extremely a prefix notation which is common in other languages OOP severe errors in systems using OOP, and that is addressed and sometimes more convenient than the traditional Ada by some other OOP languages (Eiffel, C#). notation. AI95-00363 eliminates a number of problems with access The following AIs enhance the portability of Ada types which could lead to extremely severe errors. programs: AI95-00287 and AI95-00318 are intended to make limited AI95-00224 pragma Unsuppress types more usable: currently limited types have so many AI95-00257 Restrictions for implementation-defined restrictions that they are hardly used at all. If users could entities use limited type more often, they would benefit from the AI95-00260 How to control the tag representation in a associated static error detection (in particular to avoid stream unwanted sharing). AI95-00270 Stream item size control AI95-00286 Assert pragma AI95-231 makes it possible to specify more precisely the AI95-00368† Restrictions for obsolescent features properties of access types. AI95-262 gives more control on the visibility of entities and makes private units more The following AIs improve composability of the elements usable. In both cases, additional static error detection can of the language, making it easier to build libraries of be obtained by using the new features. components and reuse them: AI95-00310 makes it possible to “undefine” operations, AI95-00254 Anonymous access to subprogram types thereby avoiding references to (inherited) operations that AI95-00317 Partial Parameter Lists for Formal Packages don’t make sense for an entity. AI95-00344‡ Allow nested type extensions AI95-00359‡ Deferring Freezing of a Generic Instantiation • Improvements in the facilities for interfacing to other languages are an example of (A) and The following AIs lift somewhat arbitrary restrictions, or should be considered. add new capabilities that improve the usability and readability of the language: AI95-00216 Unchecked unions -- variant records with no AI95-00301 Operations on language-defined string types run-time discriminant AI95-00328 Preinstantiations of Complex_IO AI95-00248 Directory Operations AI95-00340 Mod attribute AI95-00315† Full support for IEC 559:1989 AI95-00361 Raise with message AI95-00351† Time operations AI95-00362† Some predefined packages should be AI95-00370† Environment variables recategorized AI95-00216 is the only AI that actually pertains to AI95-00366† More liberal rule for Pure units interfacing to another language (C). However the ARG felt The following AIs provide mechanisms for improving the that there was a need to be able to interface to other efficiency of user programs or of implementations: computing environments as well. The other AIs listed here all address this issue. AI95-00267 Fast float-to-integer conversions AI95-00273 Use of PCS should not be normative The following AIs add new predefined units which increase AI95-00329 pragma No_Return -- procedures that never the capabilities of the Ada programming environment, and return increase the portability of programs: The following AIs improve the compatibility between the AI95-00296 Vector and matrix operations language as revised by the Amendment and Ada 83 and AI95-00302† Container library Ada 95: (B) Improvements that will remedy shortcomings AI95-00284 Nonreserved keywords in Ada. AI95-00364† Fixed-point multiply/divide • Improvements in the object-oriented features— The following AI improves the support of specifically, adding a Java-like interfaces internationalization and localization: feature and improved interfacing to other OO AI95-00285† Support for 16-bit and 32-bit. languages—are an example of (B) and should be considered.

Ada User Journal Volume 25, Number 1, March 2004 33 Fixing Software Before It Breaks: Using Static Analysis to Help Solve the Software Quality Quagmire S Tucker Taft SofCheck, Inc. 11 Cypress Drive, Burlington, MA 01803 USA.; Tel:+1 781 750 8068; email: [email protected] Abstract proofs have ever been accomplished [15]. Even automated proof systems have not been able to handle truly large, There is growing realization that something must be complex systems, due to the nearly intractable challenges done to improve the quality and security of software, associated with large formal correctness proofs. But an but the costs associated with exhaustive testing even bigger impediment to formal correctness proofs has approaches are economically prohibitive for all but been the difficulty of formally specifying the intended the most critical systems. But progress is being made result of a large software system to the level of detail to develop scalable and accurate static analysis required for formal proof [3]. technologies to help find a way out of the current software quality quagmire. Static analysis has the More recently, an alternative to formal correctness proofs potential to automate the process of line-by-line, full has emerged which can nevertheless provide many of the path inspection of source code for defects, while also same advantages, such as full coverage of all possible input providing component-by-component characterization conditions and all possible program control paths. This of the software system in terms of inputs, outputs, and alternative is based not so much on proving programs effects, thereby fostering better understanding of correct, as proving that they do not perform certain clearly legacy software and enabling more informed software incorrect or meaningless operations [7]. For example, evolution and reuse strategies. In the real-time arena, although it may be difficult to specify exactly what a large static analysis has been used to detect race conditions system should do, it is generally agreed a system should not and possible deadlocks, and help with schedulability index beyond the bounds of an array, dereference a null determination. When coupled with this more general pointer, read uninitialized memory, or update shared data capability for automated defect detection and without proper synchronization. component characterization, new opportunities are A tool that can prove that a given software system performs created. In particular, by implicitly adding to the none of some set of well-defined incorrect operations, source code metering variables to count quantities while taking all possible inputs and all possible control such as stack depth, loop counts, dynamic storage paths into account, could dramatically enhance the testing allocation, lock frequency and duration, etc., the same process. If such a tool could also identify the exact line static analysis technology can summarize these within a program where the incorrect action is performed, additional kinds of important real-time characteristics it could also dramatically enhance the debugging process. of the code. Finally, if the tool could identify exactly which possible Keywords: Static Analysis, Software Quality. input values might cause the incorrect operations to be performed, and which values can be processed without any 1 Introduction to Static Analysis such incorrect operations occurring, it could provide There is growing realization that something must be done significant help in determining in what context a given to improve the quality and security of software, but the program or software component could be appropriately costs associated with traditional exhaustive testing reused. approaches are economically prohibitive for all but the All of the above capabilities are now becoming possible most critical systems. However, an alternative approach, through the new brand of static analysis tools [2]. One way based on static analysis, has begun to emerge in the past to think of this new brand of testing tool is as a super type few years. Although the research underlying static analysis checker. The type checker in a compiler for a language began 20 to 30 years ago [5] only recently has sufficient with a static type model is effectively operating as an computing power been available on the developer's desktop automated test tool, identifying places within the program to support truly practical automated testing tools using that violate certain safety rules. In languages like Ada and static analysis. Java, the static type checking is augmented by dynamic The software engineering community has been talking run-time checks as necessary to identify violations of safety about proving programs correct for many years, but only rules that are not easily checked at compile-time. A static relatively small examples of full program correctness analysis software checker is simply pushing the static checking process further, with more complex safety rules,

Ada User Journal Volume 25, Number 1, March 2004 34 Fixing Software Before It Breaks or with more language rules checked statically that are terms of the likelihood of false negatives or false positives normally not checked until run-time. This is accomplished per million lines of code analyzed. In the case of false by using more sophisticated algorithms than those used in negatives, we may be able to claim that this number is zero, most compiler type checkers, in particular using analysis at least for a certain category of errors (such as use of algorithms that enable the checker to perform a flow- uninitialized variables). That is, all possible uses of sensitive prediction of the possible values of run-time uninitialized variables are identified. Alternatively, it is variables. possible to claim that the number of false positives is zero, for a certain category of errors. For example, a tool might Currently there are a number of distinct algorithmic never identify a line of code as using an uninitialized approaches to doing this kind of sophisticated flow- variable, unless it can prove that it will do so. The hard part sensitive analysis. Formal proof techniques are used in is claiming both zero false negatives and zero false some tools, though at the current state of the art, formal positives. proof tools generally can only be semi-automated, requiring some amount of human intervention to suggest loop Some tools try to minimize both false negatives and false invariants or other intermediate assertions needed to allow positives, without any guarantees either way, thereby the proof to complete [13]. A second approach that has maximizing the number of messages that correspond to real been garnering a fair amount of interest is derived from bugs, but still possibly missing some [12]. Other tools, hardware verification efforts, namely model checking. particularly those aimed at the high integrity marketplace, Model checking is a technique for checking whether a are designed to detect all bugs of a certain category, but finite state model of a system violates one or more desired may also end up with more false positives (crying wolf) [2]. invariants. The model checking approach generally The relatively simple checkers that are sometimes included requires the software to be recast into a representation with with compilers tend to try to minimize false positives, a smaller number of states, such as a Boolean program preferring to be silent if there is a chance the code is correct representation [1]. A third approach is based on what has (pollyanna/rose-colored glasses). been called Abstract Interpretation [6]. This is basically a Modularity is a third challenge for static analysis tools. formalization and generalization of the kinds of iterative Programs are built out of components, and it is preferable if control and data flow analysis algorithms familiar from components or groups of components can be analyzed even compiler optimizers. The results of Abstract Interpretation before the entire program is complete. Often groups of depend heavily on the kinds of approximations which must components are built as reusable libraries, so there is also a be done to get the iterative flow analysis algorithms to desire to check the correctness of the components, even in converge [5]. the absence of particular client programs. Finally, changes 2 Challenges for Static Analysis Tools are generally made to a small number of components at a time. It is desirable that an incremental change need only For all of these static analysis approaches, there are require an incremental analysis, rather than a complete fundamentally four challenges: scalability, precision, reanalysis of the entire software system. modularity, and understandability. Scalability, in the sense of being able to analyze large, complex software systems, Unfortunately, a number of the classic algorithms used in in a reasonable amount of time, is probably the critical static analysis tend to be oriented to dealing with an entire factor now in terms of whether such tools can be used in a system at a time, rather than on a component-by- real production environment. This remains a challenge for component basis. Model checking in particular tends to be all of the approaches. Careful engineering is clearly oriented toward checking an entire finite state required here, and different tools draw on different bodies representation at one time [16]. Similarly, some of the of research into efficient algorithm and data structure global points-to databases used to represent potential design. For example, in model checking, the so-called aliasing between variables used in a program are not well Binary Decision Diagrams (BDDs) have emerged as a suited to incremental analysis [14]. favorite structure for handling large models efficiently [17]. The fourth challenge is the understandability of tool output. Precision is also a critical challenge for static analysis tools. A testing tool is of little use if the error or warning By analogy to a medical diagnostic test, there are the messages it provides are inscrutable to the average problems of false negatives and false positives. False programmer. Unfortunately, it is not always easy to negatives are when a real problem goes undetected. False explain a problem, even if a tool is quite confident that the positives are when non-problems are identified as being problem exists [9]. Modularity is related to this, because a problems (also called false alarms). Having either too tool based on an approach that tends to work globally rather many false negatives or too many false positives can make than component-by-component may report errors in a way a diagnostic test have little value. that only a programmer who is very familiar with the entire global structure of the program could understand. For the static analysis of programs, accomplishing perfect precision is essentially equivalent to solving the halting Another understandability issue can arise if the program problem, and is not something anyone is expecting any has been transformed to some kind of canonical time soon. On the other hand, for any particular program representation as part of the analysis. This transformation or type of program, it is possible to characterize a tool in may need to be at least partially reversed to produce

Volume 25, Number 1, March 2004 Ada User Journal S T Taft 35 programmer-meaningful messages. In some ways this is maximum stack depth, the total amount of dynamically similar to the problem faced by interactive run-time allocated storage, the number of locks or unlocks, etc. The debuggers, which need to translate the binary state of the tool can then utilize its normal value and range propagation machine back into a programmer-meaningful description of mechanisms to propagate an upper bound on these counts the state. associated with each subprogram, in some cases as a 3 Static Analysis for Real-Time function of the inputs. 4 Conclusion In the real-time arena, static analysis has been used in the past to detect race conditions and possible deadlocks [11], Static analysis has the potential to automate the process of and to help with schedulability determination [8]. The tools line-by-line, full path inspection of source code for defects, to do these kinds of analyses have tended to be special while also providing component-by-component purpose tools, devoted to one particular concern. However, characterization of the software system in terms of inputs, as more general purpose static analysis tools become outputs, and effects. This information in turn can foster available, which can automatically detect other kinds of better understanding of legacy software and enable more errors and provide automatic characterizations of informed software evolution and reuse strategies. components, new opportunities are created. The benefits of static analysis can also be carried over to Most of the new breed of static analysis tools are oriented the real-time arena, but in this case, it becomes even more toward checking for errors, or validating certain assertions. important that the tool has the ability not simply to check Model checking, in particular, is well adapted to validating for certain desired properties, but also to derive certain assertions relevant to a multi-threaded environment [4], important numerical characteristics of the code, such as due to model checking's heritage in hardware validation maximum nesting depth, or maximum statement count, as a (which is inherently highly parallel). Similarly, theorem function of the inputs. Our belief is that this kind of static proving can be used to verify desirable properties of a real- analysis tool can be a big help in the process of turning time system, such as no race conditions, no deadlocks, etc software development and validation, in particular for real- [11]. time systems, from a black art into a true science. In addition to checking-oriented analysis, real-time systems References could also benefit from analyses that can characterize the [1] Thomas Ball and Sriram K. Rajamani. (2000), Bebop: properties of a system numerically, rather than just A Symbolic Model Checker for Boolean Programs, in validating the truth or falsehood of an assertion. For Proc. of the 7th SPIN Workshop (SPIN 2000), example, it would be useful to know the maximum number Stanford Univ., CA, pp. 113-130. of times a given loop might iterate, or the maximum depth of subprogram call nesting, or the total amount of storage [2] B. Blanchet et al (2003), A static analyzer for large allocated dynamically during system initialization. safety-critical software, in Proc. Of the ACM Unfortunately, most of the new breed of static analysis SIGPLAN 2003 conference on Programming language tools are not oriented toward producing these kinds of design and implementation (PLDI 2003), San Diego, numerical results. CA, pp. 196-207. By extending the basic Abstract Interpretation approach to [3] Manfred Broy (1996), Experiences with Software static analysis, to include characterization of the range of Specification and Verification Using LP, The Larch possible outputs of each component, some of these more Proof Assistant, in Formal Methods in System Design: An International Journal, 8(3), Kluwer Academic numerically-oriented properties can be included in the Publishers, May 1996, pp. 221-272. results produced by the static analysis tool. In particular, our company has been developing some new techniques for [4] T. Bultan, R. Garber, W. Pugh (1999), Model-checking efficiently and precisely determining the set of possible concurrent systems with unbounded integer variables: values of every object modified by a given software symbolic representations, approximations, and component, whether directly, or indirectly via other experimental results, in ACM Transactions on components. The net result is that we can summarize the Programming Languages and Systems, 21(3), July effects of each software component quite completely, in a 1999, pp. 747-780. way that could be particularly useful to real-time system [5] P. Cousot (1981), Semantic foundations of program development. analysis, in Program Flow Analysis: Theory and The summary can be made more useful by having the tool Applications, S.S. Muchnick and N.D. Jones, eds., (or some pre-processing step) automatically add implicit chapter 10, Prentice-Hall, Inc., pp. 303-342. metering variables into the code. The idea is to add to [6] P. Cousot (1996), Abstract Interpretation, in ACM each subprogram an extra out (or access) record parameter Computing Surveys, 28(2), June 1996, pp. 324-328. which holds various counts reflecting the resource [7] Economist Magazine (2003), Building a better bug utilization of the subprogram. For example, this resource- trap, in The Economist, June 19, 2003 issue. utilization record could include a count of the number of statements executed (or perhaps an estimate of the cycle [8] V. C. Gerogiannis and M. A. Tsoukarellas (1995), SAT counts) by the subprogram (directly or indirectly), the – A schedulability analysis tool for real-time

Ada User Journal Volume 25, Number 1, March 2004 36 Fixing Software Before It Breaks

applications, in Proc. Of 7th Euromicro Workshop on [13] Monroe Newborn and Monty Newborn (2001), Real-Time Systems (EUROMICRO-RTS’95), Odense, Automated Theorem Proving: Theory and Practice, Denmark, March 1995, pp. 155-163. Springer Verlag, 2001. [9] Alex Groce and Willem Visser (2003), What Went [14] Marc Shaprio and Susan Horwitz (1997), Fast and Wrong: Explaining Counterexamples, in 10th Intl. accurate flow-insensitive points-to analysis, in Proc. SPIN Workshop on Model Checking of Software, Of 24th ACM SIGPLAN-SIGACT symposium on LNCS 2648, Springer Verlag, May 2003, pp. 121-135. Principles of Programming Languages (POPL ’97), Paris France, Jan. 1997, pp. 1-14. [10] G. M. Karam and R. J. Buhr (1990), Starvation and critical race analyzers for Ada, in IEEE Trans. [15] M. G. Staskauskas (1996), An experience in the Software Eng., 16(8), August 1990, pp. 829-843. formal verification of industrial software, in Communications of the ACM, 39(12es), December [11] G. M. Karam and R. J. Buhr (1991), Temporal logic- 1996, Article 256. based deadlock analysis for Ada, in IEEE Trans. Software Eng., 17(10), October 1991, pp. 1109-1125. [16] M. V. Vardi (1995), On the complexity of modular model checking, in Proc. Of the 10th Annual IEEE [12] V. Benjamn Livshits and Monica S. Lam (2003), Symposium on Logic in Computer Science, San Diego, Tracking Pointers with Path and Context Sensitivity CA, June 1995, pp. 101-111. for Bug Detection in C Programs, in Proc. Of 9th European software engineering conference [17] B. Yang (1998), A Performance Study of BDD-Based (ESEC/FSE’03), Helsinki, Finland, Sep. 2003, pp. Model Checking, in Proc. Of the 2nd Intl. Conf. On 317-326. Formal Methods in Computer-Aided Design, (FMCAT’98), Palo Alto, CA, Nov. 1998, pp. 255-289.

Volume 25, Number 1, March 2004 Ada User Journal 38 Ada-Europe 2003 Sponsors

ACT Europe 8 Rue de Milan, F-75009 Paris, France Contact: Zépur Blot Tel: +33-1-49-70-67-16 Fax: +33-1-49-70-05-52 Email: [email protected] URL: www.act-europe.fr

Aonix 66/68, Avenue Pierre Brossolette, 92247 Malakoff, France Contact: Marrianne Tournery Tel: +33 1 4148-1000 Fax: +33-1-41-48-1020 Email : [email protected] URL : www.aonix.fr

Green Hills Software Ltd Dolphin House, St Peter Street, Winchester, Hampshire, SO23 8BW, UK Contact: Christopher Smith Tel: +44-1962-829820 Fax: +44-1962-890300 Email : [email protected] URL : www.ghs.com

Praxis Critical Systems Ltd 20 Manvers Street, Bath, BA1 1PX, UK Contact: Rod Chapman Tel: +44-1225-823763 Fax: +44-1225-469006 Email : [email protected] URL : www.sparkada.com

I-Logix 1 Cornbrash Park, Bumpers Way, Chippenham, Wiltshire, SN14 6RA, UK Contact: Martin Stacey Tel: +44-1249-467-600 Fax: +44-1249-467-610 Email : [email protected] URL : www.ilogix.com

Rational SARL Immeuble de la Gare, 1, Place Charles de Gaulle, 78180 - Montigny le Bretonneux, France Contact: Nasser Kettani Tel: ++33-1-30-12-09-50 Fax: ++33-1-30-12-09-66 Email: [email protected] URL: www.rational.com

TNI Europe Limited Triad House, Mountbatten Court, Worrall Street, Congleton, Cheshire CW12 1DT, UK Contact: Pam Flood Tel: +44-1260-29-14-49 Fax: +44-1260-29-14-49 Email: [email protected] URL: www.tni-europe.com

Volume 25, Number 1, March 2004 Ada User Journal