IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages de programmation Discussion :

Langage pour logiciel de gestion de chauffage central


Sujet :

Langages de programmation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 71
    Points : 50
    Points
    50
    Par défaut Langage pour logiciel de gestion de chauffage central
    j'ai installé Delphi 2005 personnel dans le but de créer une application concrète: mesure de diverses températures, calcul et gestion de maneuvres de vannes sur un chauffage central autrement dit utiliser l'ordinateur en lieu et place d'un automate programmable

    Au travers des diverses lectures sur le forums, je m'interroge.

    Est ce que Delphi 2005 personnel est le logiciel adéquate ?
    Est ce que ce logiciel utilise plusieurs languages ?
    Quels est le language le plus approprié pour ce type d'application en sachant que je débute à zéro
    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 417
    Points : 372
    Points
    372
    Par défaut Re: Par quoi commencer
    Citation Envoyé par BECHE
    ... mesure de diverses températures, calcul et gestion de maneuvres de vannes sur un chauffage central ...
    Quels est le language le plus approprié pour ce type d'application ...
    Les professionnels qui ont à traiter des problèmes de régulation de chaudières, ou pilotages de machines en général, surtout si cela présente des dangers, et s'ils veulent être sûrs de ne pas avoir de bugs utilisent ceci.

    Même si c'est sans doute hors de portée pour des amateurs, ça mérite d'être connu.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 155
    Points : 90
    Points
    90
    Par défaut
    Tient un manuel sur le langage B, c'est amusant je pensais que ce langage était complètement tombé dans l'oubli depuis l'apparition du langage C ...

    EDIT : J'ai un peu lu l'introduction, apparament ce n'est pas le langage B prédécesseur du C, conçu par Ken Thompson aux Bell Laboratories ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 417
    Points : 372
    Points
    372
    Par défaut
    Il ne s'agit pas du même B !

    Celui que j'ai indiqué (B comme Bourbaki !) n'est pas tombé dans l'oubli, et n'a rien a voir avec le C. C'est un langage plus récent que le C (le livre de son créateur J-R Abrial date de 1996) qui a été utilisé pour faire le logiciel de la ligne de metro 14 (Méteor) à Paris, et qui est maintenant systématiquement utilisé par Alsthom pour les logiciels férroviaires. Si tu es en sécurité dans le train, c'est grâce au B.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 155
    Points : 90
    Points
    90
    Par défaut
    Ahhhh bon.

    Moi je pensais que pour ce genre de choses la (automates programmables donc) on utilisait de l'assembleur ou alors du C ...

    Je ne comprend pas bien l'avantage du B par rapport aux deux précédents ...

    merci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 417
    Points : 372
    Points
    372
    Par défaut
    La différence est colossale. En B, tous les automates sont obligatoirement mathématiquement prouvés. Il est certain qu'ils satisfont leurs spécifications. Avec C ou l'assembleur, on peut faire des automates, mais rien n'oblige à prouver quoi que ce soit.

    D'ailleurs, si tu as le courage de lire le livre de Jean-René Abrial (The B-Book) , tu verras que tu es dans un univers totalement différent de celui de C ou de l'assembleur. Les 220 premières pages du livre ne parlent que de mathématiques, la programmation des automates commence après.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 155
    Points : 90
    Points
    90
    Par défaut
    C'est à dire que l'assembleur je ne connais pas du tout.

    Mais je vais peut être lire le livre (il est permis de le copier pour un usage personnel ou pas ?)

    merci

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 417
    Points : 372
    Points
    372
    Par défaut
    Malheureusement non. Et il est assez cher, plus de 100 euros sur amazon. La solution est de le consulter ou de l'emprunter dans une bibliothèque. Ceci dit, il existe des documents sur le web, comme celui que j'avais déjà indiqué. En cherchant un peu on en trouve d'autres.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 155
    Points : 90
    Points
    90
    Par défaut
    Ouille.

    Et bien alors je pend note du liens dans mes favoris

    merci

  10. #10
    Membre habitué
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2002
    Messages : 114
    Points : 156
    Points
    156
    Par défaut
    Merci DrTopos, je me sens moins seul maintenant à connaitre le B (au passage l'ancêtre direct du B est le langage Z si je me souviens bien de mes cours...). Malheureusement, c'est un langage que j'ai uniquement vu en cours durant ma dernière étude. Mais pour appuyer les dires de DrTopos, c'est un langage (on peut même parler de méthode ici, car le langage fait parti d'une méthode globale de développement dit formelle, puisqu'elle ne permet pas d'introduire une erreur entre la spec et la validation) utilisé chez siemens dans la partie transport Metro (j'ai failli y faire un stage).
    Peut-etre pourras tu répondre d'ailleurs à ma question : existe-t-il des outils libres pour faire du B? Je me rappelle avoir utilisé un environnement à l'école mais c'était pas gratuit...
    En tout cas je me rappelle que c'était pas facile de maitriser l'engin.
    Dans un cadre moins formel mais pratique pour la régulation, tu as MatLab/Simulink ou LabVIEW qui sont 2 logiciels très cher mais très efficaces pour tes besoins (programmation graphique). Il y a aussi Scade moins orienté régulation et encore plus cher.
    Après tous les langages textuels se valent à mon avis pour la partie régulation (sauf que le C est peut-etre plus pratique pour du bas niveau). Delphi sera en revanche très bien pour de l'interface graphique. D'ailleurs je lance l'idée comme ça d'une appli de régulation sous forme d'un serveur acceptant des connections rézo, et de l'autre coté une appli graphique pour t'y connecter. Tu pourras même surveiller ton chauffage via internet comme ça (il te suffit d'emmener ton appli graphique sur clé USB!

    En tout cas si tu as des plans ou schéma electrique pour la partie hard ça pourrait m'intéresser. Parce que faire un soft comme ça ça ne me fait pas peur, par contre le hard là

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 417
    Points : 372
    Points
    372
    Par défaut
    C'est juste, le prédécesseur du B est le Z (sic !), qui lui même avait pour prédécesseur VDM (alias 'langage de définition de Vienne' si je ne me trompe), qui date d'il ya très très longtemps (en temps informatique), genre années 50-60. J-R Abrial, le créateur du B, faisait d'ailleurs aussi partie de l'équipe du Z.

    Je ne sais pas précisément pourquoi certains préfèrent parler de méthode plutôt que de langage. Peut-être une option 'politique' pour se démarquer ... Pour ce qui est de l'utilisation du B, il y a l'atelier B:

    http://www.atelierb.societe.com/

    mais ce n'est pas gratuit. Pour ma part, je n'ai pas essayé de l'utiliser, j'ai seulement lu le livre de l'auteur de la méthode. Effectivement, le B n'est pas facile à maîtriser. La définition des énoncés et preuves comporte un très grand nombre de règles dans le style 'déduction naturelle à la Gentzen', et je trouve cela assez peu naturel. C'est très éloigné, comme manière d'écrire les maths, de ce qu'on enseigne au lycée ou à la fac.

    J'espère que le système que je suis en train de développer (qui permet lui aussi de prouver des programmes) sera plus convivial et plus facile à utiliser.

  12. #12
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut
    Citation Envoyé par DrTopos
    Si tu es en sécurité dans le train, c'est grâce au B.
    Et à l'ADA...

    Nas'

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 417
    Points : 372
    Points
    372
    Par défaut
    Citation Envoyé par Nasky
    Citation Envoyé par DrTopos
    Si tu es en sécurité dans le train, c'est grâce au B.
    Et à l'ADA...
    C'est juste, mais ça mérite une explication. ADA ne peut remplacer B, pour la raison qu'ADA ne permet pas de formaliser énoncés et preuves. Par contre, le système B ne produit pas d'exécutable, mais éventuellement des programmes (qu'il est difficile d'appeler des sources) en ADA ou en C, qui doivent ensuite être compilés. Pour produire un exécutable avec B il est donc nécessaire d'utiliser B et C ou B et ADA, ou B et un autre outil de traduction.

    Dès lors, la justesse de l'exécutable obtenu dépend aussi de la justesse du compilateur C ou ADA utilisé, ou de l'outil de traduction. On sait que les compilateurs ADA sont très sévèrement contrôlés, et donc que le choix d'ADA comme langage cible pour le B est justifié. Le choix alternatif de C relevant probablement d'un soucis de portabilité et de simplicité, ou peut-être simplement pour faciliter les tests.


    La sûreté depend donc de tous les maillons de cette chaîne.

    Toutefois, cette traduction vers C ou ADA n'est pas obligatoire. Une fois que le source B est compilé sans faute, il est parfaitement possible de traduire la partie programme (tout ce qui produit effectivement du code) dans un langage quelconque, y compris l'assembleur ou le binaire. D'ailleurs, compte tenu de la structure du B concernant la partie programme, il est assez simple de faire un tel traducteur, et le risque d'erreur est très faible. Le rôle d'ADA dans tout ce processus est donc quand même beaucoup moins critique que le rôle de B. Je crois que si j'avais à traduire un programme B directement pour un processeur donné, je préférerais faire moi-même un petit traducteur, peut-être avec l'aide de LEX et YACC, car la traduction est quand même très simple. C'est du mot à mot. Et plus on fait simple, moins on risque la faute.

    Ceci dit, dans le cas de la ligne Méteor 14 du métro, il est exact qu'ADA a été utilisé comme traducteur final. Je cite le document que j'ai sous les yeux:

    Météor représente 107.000 lignes de code B, contient 29.000 obligations de preuves (énoncés mathématiques devant être prouvés) et génère 87.000 lignes de code en ADA.
    Par ailleurs, un autre point intéressant est le suivant: 80% des preuves sont trouvées automatiquement par le compilateur B, l'intervention humaine n'étant requise que dans les 20% restant. Ceci pour rassurer nos amis développeurs, qui comprendront ainsi que prouver des programmes n'est pas forcément une galère.

    P.S. Je tiens ausi à m'excuser pour une petite erreur que j'ai commise plusieurs fois. L'auteur du B s'appelle Jean-Raymond Abrial, et non pas Jean-René.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 71
    Points : 50
    Points
    50
    Par défaut Choix du language et compilateur
    Finalement, je suis parti avec Delphi 2005.
    J'ai trouvé les cours sur les tutoriels, et notamment le guide Delphi de Frédéric Beaulieu que j'ai trouvé remarquablement bien fait pour le débutant que je suis.
    J'ai retroussé les manches et...
    Il est sur que j'aurai des questions à poser sur le forum
    A +

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Choix du langage pour logiciel de gestion de stock et commandes
    Par plex dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 15/09/2017, 16h29
  2. Choix de langage pour logiciel de gestion de scénario
    Par -BunB- dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 15/09/2007, 11h03
  3. [Langage][IHM] Choix pour logiciel de gestion ?
    Par agent007se dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 27/05/2007, 18h59
  4. Choisir un langage pour logiciel de gestion de tournoi
    Par pyckwyk dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 14/01/2007, 19h05
  5. Quel langage pour logiciel gui/gestion image ?
    Par Invité(e) dans le forum Langages de programmation
    Réponses: 12
    Dernier message: 18/10/2006, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo