Last update: 96-02-23
For further details, email requests to
kempe@ksce.com
Have passport, will travel.
Will speak for chocolate (the food of the gods).
Really.
UPCOMING
Abstract: In the Babel tower of programming languages, Ada is known for the quality of its design; indeed, several languages have borrowed elements from Ada (e.g. exceptions and genericity).
This tutorial presents how Ada 95, the revised definition of the Ada programming language, supports object-oriented programming with an emphasis on flexibility, reliability, maintainability, programming as a human activity, and efficiency.
We will describe the similarities and differences between Ada 95 and other major OO languages, and will show valuable programming techniques; topics include programming by extension, information hiding and subsystems, heterogeneous data structures, and mixin inheritance.
The tutorial will end with an overview of other powerful aspects of Ada 95 (interfacing to other languages, data-oriented synchronization, standardized packages supporting important application areas) and will provide some practical information (WWW sources of information about Ada, availability of commercial as well as freely distributed compilers, and a selection of success stories on systems implemented in Ada).
Résumé: La qualité est définie de diverses manières, mais on peut dégager quelques grandes lignes sur les propriétés considérées comme souhaitables (e.g. norme IEEE, CMM, ISO 9000). Il y a en gros trois approches: produit vérifié (testé), procédé rigoureux, et étude puis prévention des fautes. Il n'y a pas, au premier abord, de conflit entre ces approches. En creusant un peu, on note toutefois le problème de l'automatisation du travail et aussi celui de déterminer ce que l'on considère comme obstacle majeur dans la poursuite du but fixé.
Etude des fautes; inspection de code; de quoi faut-il se méfier; lien avec les sophismes étudiés en logique aristotélicienne; la recherche des coupables lors d'un échec. Que font les autres ingénieurs? Types d'échecs et de leurs causes: universels à l'ingénierie, particuliers au logiciel (à l'analyse, la conception, le codage). Que nous offrent les méthodes de génie logiciel? Est-ce bon ou suffisant?
Conclusion: sources, prémisses, quelques recommandations.