X-machine
La X-machine est un modèle théorique du calcul présenté par le Samuel Eilenberg dans le 1974 . Sous sa grille d'origine, la X-machine est rarement produite, bien que Mike Stannett ait présenté une variante de continu-temps dans le 1990 (la X-Machine analogue) qui est approprié aux premiers travaux dans la théorie de Hypercomputation . Plus récemment, la NASA ont discuté using une combinaison des X-machines et du calcul de processus dans le développement des systèmes satellites de l'essaim de (Hinchey et autres , 2005).
La variante le plus généralement produite de X-machine est le modèle de la X-Machine ( SXM ) de jet de de Gilbert Laycock, qui a acquis une certaine signification comme base pour beaucoup de travail dans le développement du logiciel qui peut être garanti pour être testable.
Définitions formelles
Une X-machine est essentiellement un " ; machine pour les objets de manipulation du type X" ;. Supposer que X est un certain Datatype , appelé le le datatype fondamental , et que Φ est un ensemble de φ de relations : X → X. Une X-machine est une machine à états finis dont les flèches sont marquées par des relations dans Φ. Chaque chemin identifié à travers la machine produit d'un n de φ de la liste φ1… des relations. Nous appelons le n de φ de la composition φ1 o… o de ces relations la relation de chemin de correspondant à ce chemin. Le comportement la X-machine est défini pour être l'union de tous ses chemin-comportements. En d'autres termes, une X-machine peut effectuer une manipulation juste à condition qu'un de ses chemins identifiés peut exécuter ce calcul. Un equipement de traitement de textes peut être considéré comme un document - machine de , où le document est type de quelques données représentant des documents. Les relations de traitement typiques pourraient inclure le A , une fonction qui insère la lettre « A » à la position actuelle de curseur. Supposer que la machine contient un état appelé le éditant , représentant l'état dans lequel l'édition du document est permise (par opposition à l'impression, à l'économie, etc. Pour chacune des lettres A - Z, la machine sera équipé d'une flèche du éditant à lui-même. C'est-à-dire, nous aurons des flèches Editing →A Editing Editing →B Editing Editing →C Editing et ainsi de suite. Supposer également que le clavier a un marqué par clef spéciale sauf , et que le pressurage du sauf prend la machine du éditant l'état de au terminal d'état a sauvé . Frapper le sauf le bouton de n'a aucun effet sur le document lui-même - il simplement état de machine de changements. Nous le modèlerions car la fonction de l'identité de (identification ) sur des documents. Likwise, nous pouvons imaginer que la machine démarre toujours vers le haut en éditer-mode, de sorte que le éditant soit l'état initial de la machine. Imaginer maintenant que vous employez l'unité de traitement de texte pour éditer un document. Un chemin particulier du éditant à sauvé par serait Ce chemin va du d'état initial éditant à l'état terminal Saved, ainsi il est identifié par la machine à état défini, et contribue au comportement de la X-machine. La relation de chemin calculée par ce chemin a l'effet d'insérer le " de mot ; HELLO" ; dans le document.
Exemple
Random links: Windows 2.0 | FS-1015 | Battletoads dans Battlemaniacs | de Marcin Zamoyski