Cours Ada

PDFApprendre à programmer avec Ada étape par étape

Apprendre à programmer avec Ada étape par étape
Apprendre à programmer avec ada étape apprendre à programmer avec ada étape par étape par étape le langage ada est un langage à part parmi tous les...
5(2 votes)

PDFCours de langage ADA

Cours de langage ADA
Ada sommaire sommaire 2 les bases du ada 4 constantes cours de langage ada en pdf littérales ..4 noms 4 renommage .4 surcharge des noms 4 opérateurs .4 opérateurs standards .4...
5(1 votes)

PDFCours Programmation Temps-Réel ADA

Cours Programmation Temps-Réel ADA
Master informatique 2ème année option programmation cours programmation temps-réel ada en pdf temps-réel ada rémi cozot – 2005 plan base ? introduction } historique } ada } ut...
1(2 votes)

PDFDébuter la programmation avec le langage Ada

Débuter la programmation avec le langage Ada
         i.u.t. aix département génie informatique débuter la programmation avec le langage ada génie logiciel 1er trimestre 2002/2003 (semaines 1 à 4) cours  ada  polycopié é...
5(1 votes)

PDFCours du langage Ada

Cours du langage Ada
Ada 9x a d a 9x                 version 2.2 (10/93)   cours du langage ada en pdf                                                            s o m m a i r e vers 1970 le coût ...
0(0 votes)

PDFCours Algorithmique et programmation les Vecteurs Ada

Cours Algorithmique et programmation les Vecteurs Ada
Algorithmique & programmation  chapitre 2 : vecteurs cours algorithmique et programmation les vecteurs ada en pdf en ada (première partie)  introduction introduction !! en...
0(0 votes)

PDFIntroduction au langage Ada cours

Introduction au langage Ada cours
Formation de base d’introduction au langage Ada, support de cours à télécharger gratuitement sous format PDF pour niveau débutant....
0(0 votes)

PDFCours Algorithmique et Génie Logiciel avec ADA

Cours Algorithmique et Génie Logiciel avec ADA
Cours algorithmique et génie logiciel avec ada en cours algorithmique et génie logiciel avec ada en pdf pdf extrait du cours: ce langage a été développé pour permettre la trad...
0(0 votes)

PDFDocumentation d Ada

Documentation d Ada
Développement de systèmes embarqués temps réel avec documentation d ada en pdf ada frank singhoff bureau c-207 université de brest, france lisyc/ea 3883 sommaire 1. généralité...
0(0 votes)

PDFDébuter la programmation avec le langage Ada

Débuter la programmation avec le langage Ada
         i.u.t. aix département génie informatique débuter la programmation avec le langage ada génie logiciel 1er trimestre 2001/2002 (semaines 1 à 4) cours  ada  polycopié é...
5(1 votes)

Présentation

Le langage de programmation Ada est né au milieu des années 1970, lorsque le département américain de la Défense (DoD) et le ministère britannique de la Défense ont cherché à remplacer les centaines de langages de programmation spécialisés utilisés pour les systèmes informatiques embarqués, qui constituaient de plus en plus des éléments essentiels pour les projets de l'armée. Au lieu de cela, Ada a été conçu pour être un langage unique et capable de s'exécuter sur tous ces systèmes embarqués, qui offraient le même niveau de performance et de fiabilité.


Avec la révision de 1995, le langage a également ciblé les systèmes à usage général et a ajouté la prise en charge de la programmation orientée objet (POO) sans perdre de vue les valeurs fondamentales de fiabilité, de maintenabilité et d'efficacité. Aujourd'hui, les logiciels écrits en Ada constituent l'épine dorsale non seulement du matériel militaire, mais aussi des projets commerciaux comme l'avionique et les systèmes de contrôle du trafic aérien. Le code Ada contrôle les fusées comme les Ariane 4 et  Ariane 5, de nombreux satellites et d'innombrables autres systèmes où les petits défauts peuvent avoir des conséquences majeures.

Pour choisir le nouveau langage de programmation, le DoD a affrété le ‘High Order Language Working Group’ (HOLWG) à un groupe d'experts militaires et universitaires, pour établir une liste d'exigences et sélectionner les langues candidates. Il en est résulté les soi-disant « exigences Steelman ». Ces exigences étaient cruciales :

  • Une conception générale et flexible qui s'adapte pour répondre aux besoins des applications informatiques embarquées.
  • Fiabilité. Le langage devrait aider à la conception et au développement de programmes fiables.
  • Facilité de maintenabilité. Le code doit être lisible et les décisions de programmation explicites.
  • Facile à produire du code efficace avec. Les constructions inefficaces doivent être facilement identifiables.
  • Pas de complexité inutile. La structure sémantique doit être cohérente et le nombre de concepts minimisé.
  • Facile à implémenter la spécification de langue. Toutes les fonctionnalités doivent être faciles à comprendre.
  • Indépendance de la machine. La langue ne sera liée à aucun détail matériel ou système d'exploitation.
  • Définition complète. Toutes les parties du langage doivent être définies de manière complète et sans ambiguïté.

Les exigences ont conclu qu'empêcher les programmeurs à faire des erreurs est la première et la plus essentielle ligne de défense. En supprimant les opportunités de faire des erreurs subtiles telles que celles commises par le biais du transtypage de type implicite et d'autres constructions dangereuses, le code devient automatiquement plus sûr et plus facile à maintenir.

Objectifs

Comme vous l’avez surement compris, Ada n’est pas un simple langage de programmation. Si vous avez besoin de réaliser une application « critique » et/ou « robuste », vous aurez besoin d’un langage de programmation comme Ada. C’est pourquoi, nous vous aiderons par le biais de ce cours à vous initier en commençant avec la syntaxe qui est plutôt simple. Ensuite, nous vous laisserons découvrir son typage fort, avant d’aller plus loin et apprendre à le maîtriser en passant aux fonctions, procédures, les exceptions, l’héritage et la programmation orientée objet avec Ada. Vous découvrirez la puissance d’Ada dans le parallélisme des tâches et la gestion bas niveau. Tout ce chemin pour la simple raison : vous mener à faire des choses merveilleuses avec un langage très puissant.

Exemples d’application

Certes, les applications réalisées avec Ada sont moins nombreuses et connues comme celles d’autres langages, mais cela va du fait que ce langage est plus utilisé à la production des logiciels de qualité industrielle en renforçant les principes de génie logiciel. Donc, si vous avez besoin d’une application robuste et top secrète, vous devez surement opter pour Ada et vous n’allez pas le regretter ;).

Prérequis

Principalement, le langage Ada est conçu pour empêcher les développeurs à faire des erreurs. Vous allez vite vous dire « Ah ! C’est le langage avec lequel je dois commencer, il m’empêchera de faire des bêtises ! ». Désolé de vous décevoir, mais ce n’est pas vrai, si vous êtes novice et vous débutez en programmation, il vaut mieux commencer avec un langage plus simple avant de vous pencher sur ce cours. Cependant, si vous êtes plutôt aventureux et vous aimez prendre les challenges, vous pouvez l’attaquer dès maintenant. Ce cours pourra vous transformer « from zero to hero :D».

De l'Ada 83 à l'Ada 95

Pour le bénéfice des lecteurs familiers avec Ada 83, nous résumons les différences majeures entre cette langue et Ada 95.
  • Les types dérivés ont un pouvoir expressif et une utilisation limités dans Ada 83. Dans Ada 95, les types dérivés étiquetés sont à la base de l'extension de type et du polymorphisme dynamique, qui sont les constructions requises pour la programmation orientée objet.
  • Les paquets dans Ada 83 pourraient être imbriqués, mais ceci a introduit des dépendances excessives parmi les paquets. Les paquets enfants dans Ada 95 peuvent être utilisés pour construire des sous-systèmes en tant que hiérarchies flexibles de paquets partageant des abstractions (types privés).
  • Le rendez-vous est une construction extrêmement réussie pour la communication de tâche à tâche, mais est plutôt inefficace pour l'exclusion mutuelle. Ada 95 introduit des objets protégés qui sont beaucoup plus efficaces pour une synchronisation simple.
  • De nouveaux types numériques ont été introduits: les types modulaires pour les types arithmétiques non signés et à virgule fixe décimale pour les calculs financiers.
  • Ada 95 étend la prise en charge de l'interfaçage matériel ainsi que de la programmation dans un environnement multilingue. Les types de données sont définis pour les mots machines, ainsi que pour les objets partagés avec les bibliothèques et modules écrits en Fortran, Cobol et C.
  • Les bibliothèques pour la gestion des caractères et des chaînes, ainsi que pour les fonctions mathématiques sont maintenant normalisées et les jeux de caractères internationaux sont pris en charge.
  • Le langage est divisé en un noyau qui doit être pris en charge par toutes les implémentations et dans des annexes à besoins spéciaux qui sont facultatives. Le langage de base est d'une taille raisonnable; les extensions qui présentent un intérêt dans des applications spécialisées seulement peuvent être mises en œuvre au besoin. Il existe des annexes pour la programmation des systèmes, les systèmes temps réel, les systèmes distribués, les systèmes d'information, les calculs numériques (calcul scientifique) et pour les systèmes ayant des exigences de sûreté et de sécurité supplémentaires.
En dehors de ces extensions majeures, de nombreuses améliorations locales ont été apportées à Ada. Ceux-ci incluent des règles de relaxation qui étaient trop strictes et améliorent les explications dans la norme.

Compilateurs et outils Ada

Les compilateurs Ada 95 prennent en charge un large éventail de plates-formes. GNAT, un compilateur libre et open source basé sur la technologie GNU, peut être téléchargé depuis le Web. Les compilateurs et outils commerciaux Ada sont disponibles auprès de: Ada Core Technologies (GNAT), DDC-I, Rational (récemment acquis par IBM), RR Software, Irvine Compiler Corporation, Green Hills, SofCheck, Aonix et OC Systems. Les éditeurs libres, y compris AdaGide, sont utiles pour développer de petits programmes Ada. Plus d'informations sur les outils, y compris les outils de développement GUI, peuvent être consultés en utilisant l'une des URL mentionnées dans l'introduction et dans la bibliographie. Des outils de développement existent pour de nombreux systèmes d'exploitation. Celles-ci comprennent CLAW pour les systèmes d'exploitation Microsoft, et GtkAda pour les autres environnements GUI, y compris les systèmes d'exploitation Microsoft, Linux, BSD OS / 2, Java Virtual Machine et toutes sortes d'Unix. L'éditeur AdaGide est disponible pour MS Window

Pratiques de developpement des programmes ADA

Il y a beaucoup de désinformation à propos d'Ada. Une idée fausse est que c'est un langage large et gonflé conçu par un comité. Ce n'est pas vrai. Ada est conçu autour de quelques principes simples qui fournissent l'architecture pour la syntaxe et la sémantique du langage. Une fois que vous aurez compris ces principes, Ada sera aussi facile que de nombreuses autres langues. Nous mettons en évidence certains de ces principes de conception dans ce livre. Un principe important est que le compilateur Ada n'assume jamais rien. Tout est explicite. Rien dans Ada n'est implicite. Cela aide le compilateur à vous aider à écrire du code plus fiable. Oh, et vous aurez rarement besoin du débogueur une fois que vous avez de l'expérience avec Ada. En outre, vos programmes Ada seront généralement compiler sur presque toutes les plates-formes contemporaines et exécuter sur cette plate-forme sans changement.

Les programmes Ada utilisent un type d'anglais formel quelque peu guindé afin de spécifier les opérations que l'ordinateur doit effectuer. Vous fournissez des déclarations qui spécifient les objets que le programme va traiter. Vous fournissez également une séquence d'instructions spécifiant les actions que vous souhaitez effectuer sur ces objets et l'ordinateur les exécute dans l'ordre, l'un après l'autre. Un ensemble de déclarations avec une séquence d'instructions comme celle-ci constitue une procédure pour laquelle vous inventez un nom. Par exemple, vous pouvez écrire une procédure qui efface l'écran et l'appelle Clear_Screen.

Les ordinateurs ne comprennent pas directement Ada; le texte de votre procédure (le code source) doit d'abord être traduit (compilé) dans un formulaire interne par un compilateur Ada. Le compilateur vous protège contre votre propre bêtise en détectant beaucoup d'erreurs courantes telles que celles qui résultent d'erreurs de frappe, et celles-ci doivent être corrigées avant de pouvoir aller plus loin. Une fois qu'une procédure a été compilée avec succès, elle est ajoutée à votre bibliothèque de programmes. Chaque fois que vous voulez exécuter cette séquence d'instructions, vous pouvez simplement vous référer à la procédure par le nom que vous lui avez donné. Par exemple, vous pouvez écrire une autre procédure qui doit effacer l'écran avant d'afficher quelque chose dessus. Tout ce qu'il aurait à faire serait de faire appel aux services de la procédure Clear_Screen existante. Cela signifie que vous n'avez pas besoin de réécrire les choses que vous avez déjà écrites, ce qui réduit la quantité de travail que vous avez à faire en écrivant les programmes et en les testant pour vous assurer qu'ils fonctionnent correctement. Vous pouvez également utiliser des procédures écrites par d'autres personnes sans avoir à connaître tous les détails de leur fonctionnement.

L'étape suivante pour transformer votre procédure d'une unité de bibliothèque en un programme de travail consiste à la lier (également appelée construction ou liaison). Cela le combine avec toutes les autres unités de bibliothèque auxquelles il fait référence. En plus de toutes les unités de bibliothèque que vous avez écrites, la spécification du langage Ada définit un certain nombre d'unités de bibliothèque standard que tous les systèmes Ada doivent fournir (par exemple, des opérations telles que l'entrée et la sortie). de ceux-ci, directement ou indirectement. L'éditeur de liens utilise votre procédure, toutes les unités de bibliothèque auxquelles il fait référence, toutes les autres auxquelles il fait référence, etc., et les lie tous ensemble dans un seul programme exécutable que vous pouvez ensuite exécuter.

Bien sûr, il est tout à fait possible (presque inévitable, comme vous le découvrirez!) Que le programme ne fonctionne pas comme prévu; le compilateur n'est pas omniscient, donc le fait que votre programme ait été compilé correctement signifie simplement que c'est un programme Ada valide. Cela ne garantit pas que ce soit le programme Ada que vous attendiez, et c'est à vous de le tester à fond pour vous assurer qu'il se comporte comme vous l'aviez prévu. Vous pouvez espérer un programme qui affiche une table de cinq fois mais qui se termine avec un programme qui affiche le nombre 5 encore et encore, auquel cas il est de retour à la planche à dessin: vous aurez besoin de traquer les erreurs (appelées bugs dans le commerce), corrigez-les, recompilez, reliez et réessayez.

Écrire un programme qui produit les bonnes réponses à partir d'une entrée sensible n'est qu'une partie de l'histoire. Vous devez également vous assurer qu'il se comporte toujours raisonnablement avec une entrée absurde. Par exemple, le programme peut s'attendre à ce que vous tapiez un nombre; que se passe-t-il si vous tapez votre nom à la place? Si le programme répond avec un message d'erreur, ignore l'entrée erronée et continue de fonctionner, bien. Si le programme se bloque (c'est-à-dire s'arrête de façon inattendue), ce n'est pas très bon. Vous pouvez ne jamais obtenir le résultat que le programme est censé produire. Pire encore, le programme pourrait être bloqué dans une boucle infinie où il finit par faire la même chose encore et encore jusqu'à ce qu'il soit arrêté de force.

Après avoir écrit quelques programmes, vous découvrirez que vous faites souvent la même chose que vous avez déjà fait, au moins par endroits. Entrée et sortie; trier les collections de données dans l'ordre; essayer de trouver des choses dans une collection; il existe des dizaines de fonctionnalités communes partagées par différents programmes. Au bout d'un moment, une sensation de déjà-vu vient sur toi et tu réalises que tu as tout fait avant. La deuxième fois, vous le faites mieux et / ou plus vite que la première fois. La troisième fois, vous le faites mieux et / ou plus vite que le second. La quatrième fois que vous commencez à bâiller. Est-il facile de réutiliser ce que vous avez déjà écrit et réécrit? Ada fournit des mécanismes qui vous permettent d'écrire un logiciel suffisamment flexible pour pouvoir le réutiliser assez facilement dans une variété de situations différentes. Apprendre à tirer le meilleur parti de ces mécanismes est toujours utile, mais cela devient une nécessité dès que les programmes commencent à dépasser les quelques milliers de lignes de code.

Ada