Petite étude de cas dérivée du projet BOMJeudi 06 juin 2002 |
Dans le projet BOM, l'étude de cas basée sur la modélisation de la JavaCard était divisée en 2 parties :
C'est lors du développement de cette première partie que nous avons décidé de commencer par faire un programme à part, qui servirait d'exemple de modélisation de l'infrastructure de la machine Objet. Ce projet nous permettait de faire un développement en profondeur d'abord.
Ce projet consiste en la réalisation de la fonction "InstanceOf" et de toute l'infrastructure nécessaire à sa mise en oeuvre. En effet, si certains éléments, comme la fonction Super qui renvoie la classe mère d'une classe donnée, ne seront pas à réaliser dans le projet BOM, il faut ici fournir toute l'infrastructure. Le seul but de ce projet est de mettre en place le système d'héritage.
Il y a notamment dans ce projet, un chargeur de classes et la fonction super.
COMPONENT | TC | POG | Obv | nPO | nUn | %Pr | BOC | C | Ada | C++ | HIA |
A_Objects | OK | OK | 2 | 0 | 0 | 100 | OK | ||||
A_Objects_imp | OK | OK | 7 | 9 | 0 | 100 | OK | - | - | - | - |
Constantes | OK | OK | 10 | 0 | 0 | 100 | OK | ||||
Constantes_imp | OK | OK | 26 | 20 | 0 | 100 | OK | - | - | - | - |
MachineDeTest | OK | OK | 3 | 0 | 0 | 100 | OK | ||||
MachineDeTest_imp | OK | OK | 175 | 108 | 0 | 100 | OK | - | - | - | - |
Package_ML | OK | OK | 104 | 35 | 0 | 100 | OK | ||||
Package_ML_imp | OK | OK | 165 | 63 | 0 | 100 | OK | - | - | - | - |
Package_ML_ref1 | OK | OK | 133 | 70 | 0 | 100 | OK | ||||
Package_ML_ref2 | OK | OK | 120 | 18 | 0 | 100 | OK | ||||
TOTAL | OK | OK | 745 | 323 | 0 | 100 | OK | - | - | - | - |
Alors il faut demander à refaire les preuves (Replay).
Ensuite, pour compiler ce projet, il faut sélectionner le fichier "MachineDeTest_imp" et cliquer sur le bouton "Translator". Ensuite, il y a un piège, il faut que les champs "All" et "Heterogeneous" soient cochés. Pour le langage, à vous de choisir. Après validation, la génération de l'exécutable commence. Les fichiers produits seront dans le dossier :
trad/{nom du langage choisi}/ |
Il faut ensuite compiler ces fichiers :
> cd trad/{nom du langage choisi}/ > make -f makefile |
Un exécutable est alors généré dans le meme dossier.
Les menus ne sont vraiment pas clairs alors voici un rapide résumé des fonctions et de leur mode d'emploi :
Numéro de fonction | Action |
0 | La fonction Charger Prend en argument le numéro d'une classe déjà présente en mémoire, pour définir le lien de parenté, et le numéro d'une classe non encore présente dans la mémoire. Cette classe est alors chargée en mémoire avec comme classe parente la classe donnée au début. |
1 | La fonction super. Prend en argument le numéro d'une classe. Si celle-ci est en mémoire, alors la fonction super renvoie le numéro de sa classe parente. Si le numéro donné est 0 alors il y a une erreur car 0 est la classe Object. |
2 | La fonction InstanceOf. Prend en argument 2 numéros de classe. Si c'est 2 numéros correspondent à des classes déjà chargée en mémoire, alors la fonction dit si la première classe est ou non une descendance de la seconde. |
3 | La fonction Quitter. Quitte le programme |
0 / \ 2 1 / \ 3 4 | 5 |
En cas de problème, contacter :