CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Methode B/Langage B

hacoeur
hacoeur
Niveau 9
18 décembre 2004 à 17:07:13

Bonjour !

Voila j´ai une question qui m´intrigue franchement, le langage B et la methode de specification en B, c´est la meme chose ou c´est totalement diferent ?

Est-ce que quelqu´un a une idée ?

gollumkawder
gollumkawder
Niveau 10
18 décembre 2004 à 17:20:12

le langage B ? Tu veux parler du langage précédant le langage C de Kernighan et Ritchie ? Je savais pas que des formes d´êtres vivants s´interessaient encore à ça...

hacoeur
hacoeur
Niveau 9
18 décembre 2004 à 17:29:09

MOUARF !

Non mais en fait je fais des etudes d´infos et j´apprend un " langage de specification" qui s´appelle B ( d´ailleur c´est tres chiant ! ) et en me balandant sur le net j´ai vu qu´il existait un langage B qui justement comme tu dis précédait le langage C. Je trouve ca bizarre que 2 langagent portent le meme nom c´est tout...

lord_kalipsy
lord_kalipsy
Niveau 10
19 décembre 2004 à 03:21:14

Bah il y a tellement de langage différent . .. et dans notre société-de-zombiS-sans-imagination . ..

DasHuhn
DasHuhn
Niveau 10
19 décembre 2004 à 11:27:03

Kali> On joue les originaux ? Tu codes en quoi ?

JeanYvesYves
JeanYvesYves
Niveau 10
19 décembre 2004 à 19:24:35

bein des trucs de profs de fac ça, de nous faire apprendre des trucs inutiles...
Bon courage pour le langage " B"

TheRealMarco
TheRealMarco
Niveau 13
25 décembre 2019 à 01:00:07

Le 19 décembre 2004 à 19:24:35 JeanYvesYves a écrit :
bein des trucs de profs de fac ça, de nous faire apprendre des trucs inutiles...
Bon courage pour le langage " B"

Oui, apprendre le fonctionnement d'un langage de spec c'est inutile. :(

Choucador
Choucador
Niveau 10
25 décembre 2019 à 05:10:20

Tiens, c'est le langage qui a servi à vérifier formellement les lignes de métro 1 et 14 à Paris. Rien à voir avec l'ancêtre du C apparemment. Je me demande pourquoi ce nom.

Joli up par contre

Chocolayte
Chocolayte
Niveau 73
25 décembre 2019 à 16:31:02

Je ne sais déjà pas ce que c'est qu'un raffinement... :noel:

syqog
syqog
Niveau 3
25 décembre 2019 à 17:45:44

La méthode B c'est un truc de niche tu trouveras pas ici et encore moins sans politesse, sans décrire ton problème et sans montrer ton avancée dans le travail, on va pas s'amuser à faire ton TP.

Je l'ai fait à mon semestre dernier mais c'était tellement chiant à mourir que j'ai même pas envie de replonger dedans.

Et sinon pour les autres, je pense pas que son UV concerne la méthode B comme outil technique mais plutôt une découverte des méthodes formelles pour faire des logiciels critiques.

Message édité le 25 décembre 2019 à 17:48:33 par syqog
rose16
rose16
Niveau 1
26 décembre 2019 à 12:31:30

merci chcolayte, pour ton envie de m'aider, parce que vraiment j'ai pas compris quoi faire pour le raffinement de cette machine abstraite.le raffinement consiste à ajouter des nouveaux variables concrètes et les introduire dans l'invariant et dans les opérations, à condition ne pas modifier ces dernières.et je vois que cette machine est concrète et n'a pas besoin d'un raffinement, mais l'énoncé de cette exercice demande le raffinement et l'implémentation de cette machine.
svp y'a quelqun qui m'aide ou me guide pour un forum utile?
merci .

rose16
rose16
Niveau 1
26 décembre 2019 à 18:55:53

Le 26 décembre 2019 à 12:31:30 rose16 a écrit :

vraiment j'ai pas compris quoi faire pour le raffinement de cette machine abstraite.le raffinement consiste à ajouter des nouveaux variables concrètes et les introduire dans l'invariant et dans les opérations, à condition ne pas modifier ces dernières.et je vois que cette machine est concrète et n'a pas besoin d'un raffinement, mais l'énoncé de cette exercice demande le raffinement et l'implémentation de cette machine.

svp y'a quelqun qui m'aide
merci .

la machine abstraite:
MACHINE
DISTRIBUTEUR
CONSTANTS
Prix ,
Valeur-pièce
PROPERTIES
Prix ∈ NAT ˄ Valeur-pièce ∈ NAT
˄ Prix mod Valeur-pièce = 0
VARIABLES
Somme-versée,
Nb-demandes,
Nb-disponibles
INVARIANT
Somme-versée ∈ NAT ˄
Nb-demandes ∈ NAT ˄
Nb-disponibles ∈ NAT ˄
Nb demandes < Nb disponibles ˄
Somme-versée <= (Nb-demandes  Prix)
INITIALISATION
BEGIN
Somme-versée := 0 ||
Nb-demandes := 0 ||
Nb-disponibles ∈ NAT
END
OPERATIONS
Indiquer_nbre (nbc ) = PRE nbc ∈ NAT1 ˄ nbc < Nb-disponibles ˄
Somme-versée = 0 ˄ Nb demandes = 0
THEN
Nb demandes := nbc
END ;
Introduire_piece = PRE Nb-demandes > 0 ˄
Somme-versée + Valeur-pièce <= Nb demandes  Prix
THEN
Somme-versée := Somme-versée + Valeur-pièce
END ;
Distribuer = PRE Somme-versée = Nb-demandes  Prix THEN
Somme-versée := 0 ||
Nb-disponibles := Nb-disponibles – Nb-demandes ||
Nb-demandes := 0
END ;
rendu  Annuler = BEGIN
Somme-versée := 0 || Nb-demandes := 0 || rendu := Somme-versée
END
END

rose16
rose16
Niveau 1
30 décembre 2019 à 18:15:07

Le 26 décembre 2019 à 18:55:53 rose16 a écrit :

Le 26 décembre 2019 à 12:31:30 rose16 a écrit :

vraiment j'ai pas compris quoi faire pour le raffinement de cette machine abstraite.le raffinement consiste à ajouter des nouveaux variables concrètes et les introduire dans l'invariant et dans les opérations, à condition ne pas modifier ces dernières.et je vois que cette machine est concrète et n'a pas besoin d'un raffinement, mais l'énoncé de cette exercice demande le raffinement et l'implémentation de cette machine.

svp y'a quelqun qui m'aide
merci .

la machine abstraite:
MACHINE
DISTRIBUTEUR
CONSTANTS
Prix ,
Valeur-pièce
PROPERTIES
Prix ∈ NAT ˄ Valeur-pièce ∈ NAT
˄ Prix mod Valeur-pièce = 0
VARIABLES
Somme-versée,
Nb-demandes,
Nb-disponibles
INVARIANT
Somme-versée ∈ NAT ˄
Nb-demandes ∈ NAT ˄
Nb-disponibles ∈ NAT ˄
Nb demandes < Nb disponibles ˄
Somme-versée <= (Nb-demandes  Prix)
INITIALISATION
BEGIN
Somme-versée := 0 ||
Nb-demandes := 0 ||
Nb-disponibles ∈ NAT
END
OPERATIONS
Indiquer_nbre (nbc ) = PRE nbc ∈ NAT1 ˄ nbc < Nb-disponibles ˄
Somme-versée = 0 ˄ Nb demandes = 0
THEN
Nb demandes := nbc
END ;
Introduire_piece = PRE Nb-demandes > 0 ˄
Somme-versée + Valeur-pièce <= Nb demandes  Prix
THEN
Somme-versée := Somme-versée + Valeur-pièce
END ;
Distribuer = PRE Somme-versée = Nb-demandes  Prix THEN
Somme-versée := 0 ||
Nb-disponibles := Nb-disponibles – Nb-demandes ||
Nb-demandes := 0
END ;
rendu  Annuler = BEGIN
Somme-versée := 0 || Nb-demandes := 0 || rendu := Somme-versée
END
END

TheRealMarco
TheRealMarco
Niveau 13
30 décembre 2019 à 18:41:56

Le 30 décembre 2019 à 18:15:07 rose16 a écrit :

Le 26 décembre 2019 à 18:55:53 rose16 a écrit :

Le 26 décembre 2019 à 12:31:30 rose16 a écrit :

vraiment j'ai pas compris quoi faire pour le raffinement de cette machine abstraite.le raffinement consiste à ajouter des nouveaux variables concrètes et les introduire dans l'invariant et dans les opérations, à condition ne pas modifier ces dernières.et je vois que cette machine est concrète et n'a pas besoin d'un raffinement, mais l'énoncé de cette exercice demande le raffinement et l'implémentation de cette machine.

svp y'a quelqun qui m'aide
merci .

la machine abstraite:
MACHINE
DISTRIBUTEUR
CONSTANTS
Prix ,
Valeur-pièce
PROPERTIES
Prix ∈ NAT ˄ Valeur-pièce ∈ NAT
˄ Prix mod Valeur-pièce = 0
VARIABLES
Somme-versée,
Nb-demandes,
Nb-disponibles
INVARIANT
Somme-versée ∈ NAT ˄
Nb-demandes ∈ NAT ˄
Nb-disponibles ∈ NAT ˄
Nb demandes < Nb disponibles ˄
Somme-versée <= (Nb-demandes  Prix)
INITIALISATION
BEGIN
Somme-versée := 0 ||
Nb-demandes := 0 ||
Nb-disponibles ∈ NAT
END
OPERATIONS
Indiquer_nbre (nbc ) = PRE nbc ∈ NAT1 ˄ nbc < Nb-disponibles ˄
Somme-versée = 0 ˄ Nb demandes = 0
THEN
Nb demandes := nbc
END ;
Introduire_piece = PRE Nb-demandes > 0 ˄
Somme-versée + Valeur-pièce <= Nb demandes  Prix
THEN
Somme-versée := Somme-versée + Valeur-pièce
END ;
Distribuer = PRE Somme-versée = Nb-demandes  Prix THEN
Somme-versée := 0 ||
Nb-disponibles := Nb-disponibles – Nb-demandes ||
Nb-demandes := 0
END ;
rendu  Annuler = BEGIN
Somme-versée := 0 || Nb-demandes := 0 || rendu := Somme-versée
END
END

TechnoForce3
TechnoForce3
Niveau 39
30 décembre 2019 à 21:31:48

Dans ma fac, on a vite fait du simili méthode (le prof disait atelier pas méthode) B sur papier mais nos TPs machine étaient en Coq. Ca me manque pas cette UE :hap:

rose16
rose16
Niveau 1
04 janvier 2020 à 20:05:23

merci TechnoForce3, tu as raison la méthode s'appel B et l'outil s'appel Atelier B

infireman
infireman
Niveau 9
04 janvier 2020 à 20:39:30

MDR la preuve formel en B ou autre c’est justement l’avenir . Ce qui est complètement inutile c’est écrire des tests unitaires qui assurent pas du tout que le prog fonctionne. Un mec qui écrit des tests c’est un peu comme le médecin du moyen âge qui charcutait ses patients à vue d’œil. Alors qu’un médecin moderne qui touche même pas au patient et qui le guérit de façon non intrusive c’est comme le programmeur qui donne la garantie que son prog est 100% correct.

syqog
syqog
Niveau 3
06 janvier 2020 à 23:23:24

Le 04 janvier 2020 à 20:39:30 infireman a écrit :
MDR la preuve formel en B ou autre c’est justement l’avenir . Ce qui est complètement inutile c’est écrire des tests unitaires qui assurent pas du tout que le prog fonctionne. Un mec qui écrit des tests c’est un peu comme le médecin du moyen âge qui charcutait ses patients à vue d’œil. Alors qu’un médecin moderne qui touche même pas au patient et qui le guérit de façon non intrusive c’est comme le programmeur qui donne la garantie que son prog est 100% correct.

Sauf que pour 99% des cas c'est overkill. Ça prends beaucoup plus de temps et d'argent de faire ce genre de programmes, si c'était rentable, toutes les entreprises l'utiliserais sauf que ce n'est pas le cas. En plus, le programme ne reste pas 100% safe, dans certains cas, on doit laisser certains cas en B et implémenter les vérifs plus tard dans l'implémentation en C (évoqué par mon professeur qui a participé au programme qui tourne sur une ligne de métro)

Message édité le 06 janvier 2020 à 23:23:56 par syqog
Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment