Contact me

Twitter  ⟐  LinkedIn
Christophe Delord


News!

Monday 18. july 2016: Updates on my new simulation framework project in Haskell.

Friday 25. march 2016: Dear backers, unfortunately, the FUN project was not successfully funded. I will now focus on FRP (Functional Reactive Programming) applied to real-time critical system specification and simulation.

CDSoft :: CV/Resume :: Free softwares Essays Haskell Handy Calc pp TPG BonaLuna Calculadoira todo pwd w Live :: AI tools in Prolog AI dialog

… This page also exists in english.

A propos de CDSoft

CDSoft change…

La mission de CDSoft est de permettre l’écriture des spécifications logicielles qui soient :

mais aussi :

Pourquoi ?

La plupart des spécifications, même pour des systèmes critiques, sont écrites dans des langues naturelles ambigues, dans des formats propriétaires fermés inexploitables avec des suites de bureautique propriétaires dangereuses.

La plupart des spécifications existantes Proposition de CDSoft

Langage naturel ambigu

Un langage naturel est pratique pour expliquer ou commenter des idées, pour communiquer dans la vie de tous les jours.

Mais un logiciel critique (ou non) doit être décrit de manière non ambigue. Les ambiguités conduisent à des interprétations multiples et contradictoires en pratique.

Les outils ne comprennent pas facilement le langage naturel. Parfois on extrait à la main l’information pour la dupliquer dans d’autres documents (conception, code, …). Et les humains ne sont pas bons pour le copier/coller… De tels projets contiennent de nombreux documents différents et contradictoires et l’implémentation peut ne plus suivre la spécification initiale.

Langage formel

Le langage naturel est toujours utilisé pour commenter et expliquer le modèle formel.

CDSoft utilise un langage fonctionnel avec des caractéristiques essentielles : système de typage fort et statique, inférence de type, sémantique mathématique claire, déterminisme.

Un tel langage est exécutable déterministiquement et est non ambigu.

La spécification peut être réutilisée pour les activités ultérieures (conception, code, tests, …) grâce à une syntaxe claire et non ambigue. Plus d’outils et moins de bugs humains n’est pas une mauvaise chose.

Formats propriétaires fermés

Vous ne pouvez pas maitriser un format proriétaire fermé. Le format peut changer à chaque nouvelle version. Les anciennes versions et les outils peuvent ne plus être supportés. Vous n’avez pas le code source et les anciennes versions seront perdues.

Un format propriétaire est le plus mauvais choix que l’on puisse faire pour écrire un document, en particulier lorsqu’il doit être conservé pendant longtemps (par exemple 80 ans dans l’industrie aéronautique)

Formats ouverts

CDSoft utilie des formats simples et ouverts. Tous les documents sont écrits dans un format texte (généralement un format UTF-8).

Ce format est si simple et basique qu’il sera supporté pendant de nombreuses années.

Ces formats et les outils associés sont géneralement libres et gratuits.

Formats inexploitables

Certains formats, propriétaires ou non, ne sont pas adaptés, en particulier les documents issus de suites bureautiques.

Très souvent les gens ne comprennent pas la différence entre un éditeur de texte et un traitement de texte.

Un traitement de texte est très bien pour écrire une lettre à sa grand-mère. Mais il enregistre des choses insensées dans le document pour décrire la mise en forme ce qui le rend inexploitable pour de nombreux outils.

Formats ouverts (suite)

CDSoft utilise des documents Markdown ou reStructuredText que n’importe quel bon editeur peut lire et modifier.

Il existe des outils pour convertir ces ces formats en HTML, PDF ou même dans des formats de suites bureautique mais le document source reste et restera toujours exploitable par des humains et des outils.

Ces formats séparent clairement le fond et la forme. Il suffit de définir la forme une fois pour toutes et de la réutiliser dans tous les projets. Et de laisser les ingénieurs se concentrer sur le fond.

Suites bureautique dangereuses

Vous ne savez pas ce que font les suites de bureautique dans votre dos. Confieriez-vous vos documents confidentiels à un pays susceptible d’espionner vos activités ?

Beaucoup de sociétés donnent leurs documents à des suites bureautiques célèbres et fermées, en utilisant des ordinateurs connectés à internet. Pas de commentaire…

Outils sûrs

Pour écrire du texte, vous avez besoin d’un éditeur de texte. Chacun a son éditeur favori.

CDSoft ne force personne à utiliser un éditeur particulier. Vous pouvez utiliser celui que vous maitrisez et qui est suffisament sûr pour votre activité.

Chacun est ainsi plus productif.

Méthode CDSoft

La méthode est simple :

Le process pour écrire une spécification est le suivant :

  1. le client fourni à CDSoft une spécification informelle
  2. CDSoft réalise une revue de la spécification informelle
  3. le client met à jou la spécification informelle
  4. tant que CDSoft et le client ne sont pas d’accord sur la spécification informelle, on boucle à l’étape 2.
  5. CDSoft écrit une spécification formelle avec des tests unitaires, les vérifications d’invariants, …
  6. tant que CDSoft et le client ne sont pas d’accord sur la spécification formelle, on boucle à l’étape 5.
  7. le client peut utiliser la spécification formelle pour implémenter on système

À première vue, cela peut sembler inutilement coûteux. Mais dans la pratique cela réduit les coûts d’intégration et de test en détectant les erreurs de spécification au plus tôt dans le cycle de développement.

Il est toujours plus économique de résoudre les problèmes d’inconsistence au début d’un projet. Une mise à jour de la spécification plus tardive est bien plus coûteuse car tout le cycle de développement est affecté.

De plus, pour certains types de logiciels, le modèle formel est aussi un prototype exécutable qui peut être raffiné pour obtenir le produit final. Cela rend la traçabilité entre la spécification et l’implémentation triviale. Dans ce cas, le client reçoit en même temps la spécification formelle et une implémentation finalisée.

Commander une spécification logicielle

Si vous êtes intéressé pour formaliser vos spécifications, vous pouvez m’écrire par email à Christophe Delord et décrire vos besoins. Je vous recontacterai dès que possible.

Expérience

J’ai une longue expérience dans des domaines critiques en aéronautique (DO178B, spécification, implémentation, vérification).

Pour plus d’information, vous pouvez lire mon CV.

Projet connexe

Un livre présentant la méthode et quelques exemples est en cours de préparation. Je compte utiliser le financement participatif pour financer son écriture. Ce financement me permettra d’avoir plus de temps pour ce projet et de sortir une première édition plus rapidement.

Si vous êtes intéressé pour financer une part ce projet n’hésitez pas à me le faire savoir, je vous tiendrai au courant de son avancement.

Pour plus d’information sur le livre, merci de lire son site dédié : http://fun.cdsoft.fr