………………………………………………………………………………………………………………………

 

portageMM2CPP

 

Logiciel de

 

portage de code ModelMaker en langage C++

 

Version 080917

 

 

Publication de la version 080917 du logiciel portageMM2CPP de portage de code ModelMaker en langage C++. Le logiciel portageMM2CPP est une base d’écriture en langage C++ d'un modèle qui a été programmé sous ModelMaker.

 

Présentation générale

Droits et licence

Pour commencer

Télécharger

Se servir du logiciel

Licence CeCILL

La documentation

Les tests logiciels

Brève présentation de la procédure pour, à partir du logiciel portageMM2CPP, construire son propre logiciel en C++ relatif à son propre modèle ModelMaker

 

 

………………………………………………………………………………………………………………………

 

Présentation générale ( Ù )

 

Le logiciel portageMM2CPP s'appuie sur un cas précis, il est une réécriture en langage C++ du modèle écrit dans le fichier ModelMaker « modele2.mod » (plus quelques autres entités).

 

Le logiciel portageMM2CPP peut servir d'exemple, être repris/adapté par quelqu'un qui souhaiterait construire son propre logiciel en C++ à partir de son propre modèle ModelMaker.

 

Le logiciel portageMM2CPP comporte une partie générique qui « se veut » indépendante du modèle traité et une partie complètement spécifique du modèle traité. Il est clairement fait la distinction entre ces deux parties, elles sont écrites dans des fichiers distincts. Ainsi d'un côté la partie générique peut être réutilisée tandis que de l'autre, la partie spécifique peut servir d'exemple et être adaptée à d'autres cas de modèles ModelMaker (fichiers « .mod »).

 

Avertissement / limitation :

Le logiciel portageMM2CPP dans son état actuel ne peut pas être repris pour recoder dans son intégralité n'importe quel modèle écrit avec ModelMaker. Ce logiciel répond aux besoins du modèle ici traité (« modele2.mod » - plus quelques autres entités - pris en exemple), il ne prend pas en compte toutes les possibilités offertes par ModelMaker. Il pourrait dans le futur être enrichi dans ce sens.

 

Le site de publication/diffusion du logiciel portageMM2CPP est modelia ( http://www.modelia.org ), le site de la plate-forme et du club INRA-ACTA-ICTA.

 

………………………………………………………………………………………………………………………

 

Droits et licence ( Ù )

 

Titulaire des droits patrimoniaux sur le logiciel portageMM2CPP

INRA - Institut National de la Recherche Agronomique http://www.inra.fr

 

Auteur(s)

Nathalie Rousse ( Nathalie.Rousse@toulouse.inra.fr ), INRA, département MIA, UMR AGIR, http://www.modelia.org .

 

Licence

Le logiciel portageMM2CPP est régi par la licence CeCILL soumise au droit français et respectant les principes de diffusion des logiciels libres. Vous pouvez utiliser, modifier et/ou redistribuer ce programme sous les conditions de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA sur le site http://www.cecill.info.

 

 

Toute personne qui serait intéressée par d'autres conditions

que celles qui sont stipulées dans cette licence

est invitée à contacter Nathalie Rousse (adresse mél sur cette page)

 

 

 

………………………………………………………………………………………………………………………

 

Pour commencer ( Ù )

 

Pour prendre connaissance du logiciel, consulter la documentation.

Toute personne ayant besoin de renseignements complémentaires est invitée à contacter Nathalie Rousse (adresse mél sur cette page).

 

………………………………………………………………………………………………………………………

 

Télécharger ( Ù )

 

Consultation rapide : documentation et code source

 

Téléchargement : Logiciel portageMM2CPP (commande de désarchivage : "tar xzvf 080917_portageMM2CPP.tgz")

 

………………………………………………………………………………………………………………………

 

Se servir du logiciel ( Ù )

 

 

Pour compiler et générer l'exécutable à partir du code source, lancer cet exécutable :

La procédure à suivre est donnée dans « Guide d’utilisation » du fichier de documentation « help ».

 

 

Pour construire son propre logiciel en C++ à partir de son propre modèle ModelMaker :

 

 

Comment, à partir du logiciel portageMM2CPP,

construire son propre logiciel en C++ (.cpp, .h)

relatif à son propre modèle ModelMaker (fichier « .mod ») :

 

La procédure à suivre est décrite dans « Mode d’emploi » du fichier de documentation « help ».

Il est donné ici une brève présentation de cette procédure.

 

 

………………………………………………………………………………………………………………………

 

Licence CeCILL ( Ù )

 

Le logiciel portageMM2CPP est régi par la licence CeCILL soumise au droit français et respectant les principes de diffusion des logiciels libres. Vous pouvez utiliser, modifier et/ou redistribuer ce programme sous les conditions de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA sur le site "http://www.cecill.info".

 

En contrepartie de l'accessibilité au code source et des droits de copie, de modification et de redistribution accordés par cette licence, il n'est offert aux utilisateurs qu'une garantie limitée.  Pour les mêmes raisons, seule une responsabilité restreinte pèse sur l'auteur du programme,  le titulaire des droits patrimoniaux et les concédants successifs.

 

A cet égard  l'attention de l'utilisateur est attirée sur les risques associés au chargement,  à l'utilisation,  à la modification et/ou au développement et à la reproduction du logiciel par l'utilisateur étant donné sa spécificité de logiciel libre, qui peut le rendre complexe à manipuler et qui le réserve donc à des développeurs et des professionnels avertis possédant  des  connaissances  informatiques approfondies.  Les utilisateurs sont donc invités à charger  et  tester  l'adéquation  du logiciel à leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes et ou de leurs données et, plus généralement, à l'utiliser et 'exploiter dans les mêmes conditions de sécurité.

 

Le texte de la licence CeCILL, dans sa version 2, en langue française .

Le texte de la licence CeCILL, dans sa version 2, en langue anglaise .

 

………………………………………………………………………………………………………………………

 

La documentation ( Ù )

 

Fichier « help » de documentation du logiciel portageMM2CPP

Consulter « help » pour accéder aux informations :

 

« Présentation générale »

« Fiche d’identité »

« Pour commencer »

« Les représentations UML »

« Structure, organisation »

« Environnement de développement »

« Guide d’utilisation » et plus précisément « help_guideDutilisation »

« Spécification » et plus précisément « help_specification »

« Tests du logiciel » et plus précisément « help_testsDuLogiciel »

« Mode d’emploi » et plus précisément « help_modeDemploi »

 

Identité et état du logiciel (fiches de version et fiches de fait technique)

 

Version du logiciel portageMM2CPP :

 

La fiche de version de la version 080917 du logiciel portageMM2CPP est (au format pdf) : version ficheVersion_v080917.pdf .

 

Listes des versions du logiciel portageMM2CPP dans l’ordre chronologique :

v060203    (version initiale du logiciel)

v071025    (version non diffusée, fiche de version ficheVersion_v071025.pdf )

v071026    (version non diffusée, fiche de version ficheVersion_v071026.pdf )

v080917    (fiche de version ficheVersion_v080917.pdf )

 

Faits techniques du logiciel portageMM2CPP :

 

Les fiches de faits techniques (ouverts ou clos) du logiciel portageMM2CPPsont (au format pdf) :

FFT_001.pdf

FFT_002.pdf

FFT_003.pdf

FFT_004.pdf

 

Diagrammes des représentations UML

 

Les représentations UML du fichier UMLmaj_portageMM2CPP.pdf sont à lire en complément (parallèle) des représentations UMLUML1portageMM2CPP.pdf à UML7portageMM2CPP.pdf :

-          Les représentations UML UML1portageMM2CPP.pdf à UML7portageMM2CPP.pdf  correspondent à la version 060203 du logiciel portageMM2CPP.

-          Le document UMLmaj_portageMM2CPP.pdf contient les évolutions des représentations UML de la version 080917 par rapport à la version initiale 060203.

 

Diagramme de déploiement portageMM2CPP : UML1portageMM2CPP.pdf

Diagramme des classes du code C++ : UML2portageMM2CPP.pdf

Diagramme des classes génériques : UML3portageMM2CPP.pdf

Diagramme des classes spécifiques : UML4portageMM2CPP.pdf

Diagramme d’activité de méthodes : UML5portageMM2CPP.pdf

Diagramme de déploiement Répertoire « lesTestsCPP » : UML6portageMM2CPP.pdf

Séquence de construction et déroulement d’un scénario de test : UML7portageMM2CPP.pdf

Evolutions des représentations UML de la version 080917 par rapport à la version initiale 060203 : UMLmaj_portageMM2CPP.pdf

 

Consultation rapide du code

Cette information est partielle, il faut télécharger le logiciel pour accéder aux informations complètes.

 

Code source ModelMaker (au format pdf) : modele2.txt

Et fichiers (au format pdf) des données à interpoler donneesPluie.txt et donneesPluieDouble.txt , reçus en entrée d’une exécution (simulation) du logiciel en C++ (ces fichiers d’entrée concernent les entités qui sont dans le modèle écrit en C++ en plus des entités correspondant au modèle « modele2.mod »).

 

Code source C++ (au format pdf) : mainPortageMM2CPP.cpp et

genericitePortageMM2CPP.cpp , genericitePortageMM2CPP.h ,

specificitePortageMM2CPP.cpp , specificitePortageMM2CPP.h .

Code source de configuration C++ (au format pdf) : genericiteConfigPortageMM2CPP.h et specificiteConfigPortageMM2CPP.h .

 

Rapport de synthèse des tests logiciels (au format pdf) : rapportGlobalDesTests.pdf . Voir aussi les tests logiciels.

 

………………………………………………………………………………………………………………………

 

Les tests logiciels ( Ù )

 

Plan de test logiciel (organisation et environnement de mise en oeuvre des tests, prévision des tests)

 

Voir « Tests du logiciel » : help_testsDuLogiciel

 

Voir les représentations UML :

-          Diagramme de déploiement Répertoire « lesTestsCPP » UML6portageMM2CPP.pdf ,

-          Séquence de construction et déroulement d’un scénario de test UML7portageMM2CPP.pdf

-          et leurs évolutions dans la version 080917 par rapport à la version initiale 060203, dans UMLmaj_portageMM2CPP.pdf .

 

Les tests sont organisés en scénarios. Chaque scénario comprend un certain nombre de jeux de tests. Certains scénarios constituent ensemble une famille de scénarios.  Liste des scénarios :

-          Scénario scn1nominal en situation nominale.

-          Famille des scénarios { scnCasDerreur1, scnCasDerreur2, scnCasDerreur3 } portant sur le traitement des cas d'erreurs.

-          Famille des scénarios { scnInitialisation1, scnInitialisation2, scnInitialisation3, scnInitialisation5 } portant sur la phase d'initialisation du logiciel.

-          Scénario scnIntegrale portant sur le traitement des entités de type entityAvecDerivee.

-          Famille des scénarios { scnInterpolation1, scnInterpolation2, scnInterpolation3, scnInterpolation4, scnInterpolation5, scnInterpolation6, scnInterpolation7 } portant sur le traitement d'interpolation.

-          Scénario scnPrecisionCalculs portant sur la précision des calculs effectués.

-          Scénario scnTestV071025.

-          Scénario scnTestV071026.

 

 

Ensemble de la description des tests du logiciel (procédures de test, scénarios et jeux de test)

 

La description des tests du logiciel est rassemblée dans le rapport global des tests du logiciel portageMM2CPP rapportGlobalDesTests.pdf (parties « DESCRIPTION DE TEST »).

 

Ensemble du rapport des résultats des tests du logiciel (résultats et conclusions des tests)

 

Les résultats des tests du logiciel sont rassemblés dans le rapport global des tests du logiciel portageMM2CPP rapportGlobalDesTests.pdf (parties « RAPPORT DE TEST »).

 

Scénario par scénario, description des tests et résultats des tests :

 

Les documents XXX_rapportTest et XXX_statutTest (au format pdf) regroupent l’information de test relative au scénario XXX ; dans le document XXX_rapportTest, voir la partie « DESCRIPTION DE TEST » pour la description des tests du scénario XXX et la partie « RAPPORT DE TEST » pour les résultats des tests du scénario XXX :

 

-          scn1nominal :                scn1nominal_rapportTest                                 et scn1nominal_statutTest

-          scnCasDerreur1 :          scnCasDerreur1_rapportTest           et scnCasDerreur1_statutTest

-          scnCasDerreur2 :          scnCasDerreur2_rapportTest           et scnCasDerreur2_statutTest

-          scnCasDerreur3 :          scnCasDerreur3_rapportTest           et scnCasDerreur3_statutTest

-          scnInitialisation1 :        scnInitialisation1_rapportTest         et scnInitialisation1_statutTest

-          scnInitialisation2 :        scnInitialisation2_rapportTest         et scnInitialisation2_statutTest

-          scnInitialisation3 :        scnInitialisation3_rapportTest         et scnInitialisation3_statutTest

-          scnInitialisation5 :        scnInitialisation5_rapportTest         et scnInitialisation5_statutTest

-          scnIntegrale :                scnIntegrale_rapportTest                 et scnIntegrale_statutTest

-          scnInterpolation1:        scnInterpolation1_rapportTest        et scnInterpolation1_statutTest

-          scnInterpolation2 :       scnInterpolation2_rapportTest        et scnInterpolation2_statutTest

-          scnInterpolation3 :       scnInterpolation3_rapportTest        et scnInterpolation3_statutTest

-          scnInterpolation4 :       scnInterpolation4_rapportTest        et scnInterpolation4_statutTest

-          scnInterpolation5 :       scnInterpolation5_rapportTest        et scnInterpolation5_statutTest

-          scnInterpolation6 :       scnInterpolation6_rapportTest        et scnInterpolation6_statutTest

-          scnInterpolation7 :       scnInterpolation7_rapportTest        et scnInterpolation7_statutTest

-          scnPrecisionCalculs :   scnPrecisionCalculs_rapportTest    et scnPrecisionCalculs_statutTest

-          scnTestV071025 :         scnTestV071025_rapportTest          et scnTestV071025_statutTest

-          scnTestV071026 :         scnTestV071026_rapportTest          et scnTestV071026_statutTest

 

………………………………………………………………………………………………………………………

 

Brève présentation ( Ù )

 

Procédure à suivre pour, à partir du logiciel portageMM2CPP, construire son propre logiciel en C++ (.cpp, .h) relatif à son propre modèle ModelMaker (fichier « .mod »)

 

à Récupérer en l'état le logiciel exemple « portageMM2CPP ».

à Remplacer le modèle ModelMaker de l’exemple par son propre fichier ModelMaker (« .mod »).

à Modifier/adapter le code C++ (.cpp, .h) en conséquence ; pour cela suivre les instructions données dans les commentaires qui sont inclus dans le code source et dans les représentations UML.

à Essai et validation : mettre en place et effectuer les tests permettant de vérifier son propre logiciel ; pour cela se reporter à « Tests du logiciel » dans le fichier de documentation « help ».

à Utilisation du logiciel produit : une fois le logiciel validé, l'intégrer dans son propre contexte. Il peut s'agir de remplacer le main par une IHM plus élaborée, ou encore d'invoquer la fonction de simulation « simuler » dans un autre programme/logiciel C++ (d'un autre modèle, d'une application logicielle ...) etc.

 

………………………………………………………………………………………………………………………

 

Logiciel portageMM2CPP de portage de code ModelMaker en langage C++

Copyright INRA, février 2006

 

 

- mise en ligne le 26/09/08 -

http://www.modelia.org

………………………………………………………………………………………………………………………