Powerpoint
Compte Rendu : Powerpoint. Rechercher de 53 000+ Dissertation Gratuites et Mémoiresication OFL-Meta -------------- 8 Le logiciel OFL-Meta----------------------------------------------------------- 13 Présentation générale ----------------------------------------------------------- 13 Fonctionnalités------------------------------------------------------------------- 16 Planning passé ------------------------------------------------------------------- 19 Conclusion personnelle --------------------------------------------------------- 21 Bibliographie--------------------------------------------------------------------- 22
Olivier COTTO
Année 2001/2002
Roland PELLEGRIN
Projet OFL-Meta
I. Présentation du contexte du projet
OFL (Open flexible Languages) est un modèle méta-objet qui décrit la sémantique opérationnelle, le comportement des langages de programmation à objets les plus courants tels Java, C++, Eiffel, ... Le principal objectif du modèle OFL est d'offrir au méta-programmeur un moyen simple de créer un nouveau langage ou de modifier le comportement d'un langage existant. En effet, traditionnellement, la méta-programmation est une tâche difficile et fastidieuse. OFL met donc à la disposition du métaprogrammeur trois concepts lui permettant de décrire son langage :
• • •
les concepts-descriptions ont la capacité de générer des composants-descriptions qui figurent les méta-classes du langage, les concepts-relations permettent de décrire des composants-relations qui formeront les métarelations du langage et les concepts-langages qui représentent des composants-langages (un par langage décrit) dont la principale fonction est de rassembler et composer les composants-descriptions et
composants-relations du langage. Par exemple, le composant-langage Java est formé, entre autres, des composants-descriptions Class, Interface et Array et des composants-relations Extension, Implementation et Aggregation. Pour créer un OFL-composant, le travail du méta-programmeur est facilité par la présence d'un
système de paramètres au sein du modèle. Au lieu d'écrire du code, forcément complexe, il s'agit donc de spécifier un type de comportement. Par exemple, pour créer chaque composant-relation, le métaprogrammeur doit répondre aux questions :
• • • • • •
La relation définit-elle une utilisation ou une importation ? La relation admet-elle le polymorphisme ? Si oui, dans quel(s) sens ? Quelle est sa cardinalité maximale ? Peut-elle être circulaire, répétée ? Possède-t-elle une relation inverse ?
Puis le modèle prend en compte la valeur de chacun des paramètres ainsi instituée et génère le composant correspondant. Le méta-programmeur définit donc, suivant ce principe, tous les
composants-descriptions et composants-relations de son langage. Si son but est plutôt de modifier la sémantique opérationnelle d'un langage existant, il lui faut choisir précisément quel comportement il souhaite adapter et modifier la valeur des paramètres
correspondants. Quatre outils logiciels sont en cours de réalisation pour mettre en oeuvre les principes décrits par OFL au sein d'un environnement de programmation basé sur le modèle. Essentiellement graphiques, ils permettent au méta-programmeur de définir les composants du langage (OFL-Meta, le sujet de ce rapport) puis au programmeur de les utiliser (OFL-ML) pour générer ensuite du code exécutable (OFL-Parser). Ces outils font usage des formalismes UML et XML et d'un système de persistance (OFL-DB). Le projet que nous présentons ici, est la réalisation de l’outil logiciel OFL-Meta, celui qui va permettre de définir les composants du langage.
Olivier COTTO
3/22
Roland PELLEGRIN
Projet OFL-Meta
II. Cahier des charges
A. Contexte
Afin de donner la possibilité à tout un chacun de pouvoir utiliser le modèle OFL au sein d’un environnement de programmation, le développement de quatre outils logiciels a été lancé dans le cadre des Projets de Fin d’Etude des étudiants 3
ème
année
et
DESS
de
l’ESSI
(Ecole
Supérieure en Sciences Informatiques). L’outil OFL-Meta fait partie de cette suite logicielle et ce rapport va donc en présenter les différentes spécifications.
B.
Prise de connaissance
-
Connaissance du sujet La première phase du projet est la prise de connaissance avec le modèle OFL. Pour cela, une réunion a eu lieu le 18 octobre avec M. Crescenzo, encadreur du projet, afin d’expliquer le thème du projet.
-
Définition des objectifs Les objectifs ont été définis lors de la première réunion, à savoir réaliser un composant logiciel nommé OFL-Meta. Celui-ci doit permettre de créer, modifier ou supprimer graphiquement des OFL-composants qui sont des instances d’OFL-concepts. En
d’autres termes, il offre la possibilité de décrire la sémantique opérationnelle d’un langage qui sera utilisé pour la conception d’une application. Les OFL-composants qu’il manipule peuvent être stockés en utilisant divers formalismes standards comme XML ou MOF. La réalisation de l’outil doit être homogène avec les autres composants logiciels de manière à ce que l’ensemble de ces quatre composants puisse ne former par la suite qu’un même outil logiciel.
-
Limites du sujet A la mi-novembre 2001, les limites du sujet ont été étendues puisque les classes du modèle OFL, déjà réalisées par M. Lahire, devaient être intégrées au projet. Ces classes avaient été conçues dans le but de fonder les premières briques au projet. Elles n’ont finalement pas été retenues car peu adaptées à notre projet.
C.
Compréhension du modèle OFL
Le développement de l’outil OFL-Meta nécessite de bien cerner le sujet et ses limites. Dans cette optique et étant donné que la création du modèle OFL a fait l’objet d’une thèse par M. Crescenzo, la compréhension s’est faite en plusieurs étapes : Lecture de la partie de la thèse de M. Crescenzo concernant les points jugés
importants. Rédaction de toutes les questions portant sur des points sombres, qui nécessitent d’être éclaircis Débats et questions avec les encadreurs du projet.
Olivier COTTO
4/22
Roland PELLEGRIN
Projet OFL-Meta
D.
Choix de développement, implémentation
•
Conception La norme UML étant reconnue et standardisée, nous avons retenu celle-ci pour la partie modélisation de l’application OFL-Meta. Les diagrammes qui seront réalisés dans le cadre du projet seront des diagrammes de classes. Le support de modélisation est Rational Rose Enterprise Edition V 7.1
•
Langage de programmation D’un commun accord avec les encadreurs du projet, le langage que nous avons choisi comme support de développement de l’application OFL-Meta est Java. Ce choix se justifie pour plusieurs raisons : -Portabilité : l’application doit pouvoir tourner aussi bien sous MS Windows que sur stations type Unix ou linux -Facilité de programmation par rapport à un langage comme C++. Le support de développement est Visual Café Enterprise Edition V 4.5
•
Package graphique La librairie graphique que nous avons choisie pour réaliser la partie graphique du logiciel est Swing. Cette librairie est en en effet très répandue, son utilisation est aisée et la documentation qui s’y réfère abonde.
•
Documentation Les classes écrites sont commentées suivant la convention définie dans le Javadoc-tool disponible sur le site de Sun http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
Olivier COTTO
5/22
Roland PELLEGRIN
Projet OFL-Meta
III. Travail effectué
A.
Prise de connaissance
La première phase du projet a été la prise de connaissance du projet. Celle-ci s’est principalement faite au cours de la deuxième réunion pendant
...