………………………………………………………………………………………………………………………
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 ( Ù
)
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 |
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) :
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 -
………………………………………………………………………………………………………………………