Skip to content

Formal specification : Alloy vs TLA+ #9

@glmxndr

Description

@glmxndr

A propos de vous

  • Prénom Nom: Guillaume ANDRIEU

Description de votre sujet.

  • Nom de la techno : TLA+
  • Techno alternative: Alloy

Les développeurs aiment coder, et codent parfois trop, et trop vite. Pour des algorithmes sensibles, incluant par exemple des questions de concurrence, il est facile de se tromper sur la manière de s'y prendre, et de ne pas être en mesure de prévenir des cas d'erreur, même en écrivant des tests poussés.

Des langages de vérification formelle se développent depuis le début des années 2000: ils permettent d'écrire une spécification qui est ensuite vérifiée par un solveur s'assurant que des invariants sont effectivement invariants.

TLA+ se base sur une notion de machine à états, et excelle à décrire des sytèmes évoluant dans le temps. Alloy est plus basé sur des sytèmes statiques et de la logique relationnelle.

Pour référence:


Détails

  • Exercices du matin: familiarisation avec les concepts et le langage

  • Exercice de l'après-midi: fournir la spec formelle d'un système, sous forme de jeu avec déverrouilage d'étapes qui complexifie l'algo à spécifier au fur et à mesure

  • Tags (e.g: angular, android, web, iot) : formal specs

  • Disponibilité (e.g: ASAP, avant/aprés XXX): ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions