Méthode formelle (informatique)En informatique, les méthodes formelles sont des techniques permettant de raisonner rigoureusement, à l'aide de logique mathématique, sur un programme informatique ou du matériel électronique numérique, afin de démontrer leur validité par rapport à une certaine spécification. Elles reposent sur les sémantiques des programmes, c'est-à-dire sur des descriptions mathématiques formelles du sens d'un programme donné par son code source (ou, parfois, son code objet).
Bombardements atomiques d'Hiroshima et de NagasakiLes bombardements atomiques d'Hiroshima et de Nagasaki, ultimes bombardements stratégiques américains au Japon, ont lieu les et sur les villes d'Hiroshima () et de Nagasaki (). Hiroshima est le siège de la de la deuxième armée générale et le centre de commandement du général Shunroku Hata, et Nagasaki est choisie comme cible plutôt que la cité historique de Kyoto. Utilisant a posteriori le prétexte du rejet des dirigeants japonais des conditions de l'ultimatum de la conférence de Potsdam, les États-Unis souhaitent imposer au Japon sa reddition sans condition, l'éviction de l'empereur Hirohito et l'adoption d'un régime politique démocratique.
Débat sur les bombardements d'Hiroshima et de Nagasakivignette|Champignon atomique de l'explosion nucléaire de Nagasaki. Le débat sur les bombardements d'Hiroshima et de Nagasaki porte sur les justifications militaires et pragmatiques ainsi que les controverses morales et juridiques entourant la décision par les États-Unis d'utiliser l'arme nucléaire sur Hiroshima puis sur Nagasaki les 6 et 9 août 1945, à la fin de la Seconde Guerre mondiale. Les défenseurs de ces bombardements atomiques déclarent qu'ils ont entraîné la capitulation japonaise et ont ainsi évité aux deux bords de lourdes pertes qu'auraient provoqué l'invasion terrestre du Japon et la prolongation de la guerre.
Formal specificationIn computer science, formal specifications are mathematically based techniques whose purpose are to help with the implementation of systems and software. They are used to describe a system, to analyze its behavior, and to aid in its design by verifying key properties of interest through rigorous and effective reasoning tools. These specifications are formal in the sense that they have a syntax, their semantics fall within one domain, and they are able to be used to infer useful information.
Langage formelUn langage formel, en mathématiques, en informatique et en linguistique, est un ensemble de mots. L'alphabet d'un langage formel est l'ensemble des symboles, lettres ou lexèmes qui servent à construire les mots du langage ; souvent, on suppose que cet alphabet est fini. La théorie des langages formels a pour objectif de décrire les langages formels. Les mots sont des suites d'éléments de cet alphabet ; les mots qui appartiennent à un langage formel particulier sont parfois appelés mots bien formés ou formules bien formées.
Vérification formelleIn the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics. Formal verification can be helpful in proving the correctness of systems such as: cryptographic protocols, combinational circuits, digital circuits with internal memory, and software expressed as source code.
Grammaire formelleUne grammaire formelle est un formalisme permettant de définir une syntaxe et donc un langage formel, c'est-à-dire un ensemble de mots admissibles sur un alphabet donné. La notion de grammaire formelle est particulièrement utilisée en programmation logique, compilation (analyse syntaxique), en théorie de la calculabilité et dans le traitement des langues naturelles (tout particulièrement en ce qui concerne leur morphologie et leur syntaxe).
Sémantique formelleEn linguistique, la sémantique formelle cherche à comprendre le sens (linguistique) en construisant des modèles mathématiques précis des principes utilisés par le locuteur pour définir la relation entre des expressions en langage naturel et l’environnement supportant un discours faisant sens. Les outils mathématiques utilisés sont une combinaison de logique mathématique et de langage formel théorique, plus particulièrement de lambda-calcul typé.
Programmation orientée objetLa programmation orientée objet (POO), ou programmation par objet, est un paradigme de programmation informatique. Elle consiste en la définition et l'interaction de briques logicielles appelées objets ; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre. Il possède une structure interne et un comportement, et il sait interagir avec ses pairs.
Projet de bombe atomique soviétiqueLe projet soviétique de développement d’une bombe atomique (en russe: Создание советской атомной бомбы) est un programme de recherche et de développement top secret décidé fin 1942 par Staline, alors que la bataille de Stalingrad faisait encore rage, et débuté en 1943 par l'établissement de l'Institut Kourtchatov, du nom de son directeur Igor Kourtchatov.