Le modèle OFL (Open Flexible Languages) décrit et réifie le comportement des langages à objets à classes courants tels Java, C++ ou Eiffel et permet de modifier, d'adapter, ce comportement. Dans cette optique, les notions de classe --- généralisée sous le nom de "description" --- et de "relation entre descriptions" sont réifiées. Chaque langage est décrit sous la forme d'un ensemble de composants formé de types de description et de types de relation. Pour définir chaque composant, le méta-programmeur doit donner une valeur à un ensemble de paramètres qui décrivent la sémantique opérationnelle du composant. Par exemple, pour définir une nouvelle relation, il devra répondre aux questions : La relation définit-elle une utilisation ou une importation ? La relation permet-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 ? Une fois ces types de description et de relation définis par le méta-programmeur, le programmeur est en mesure d'en faire usage pour la réalisation de son application. Le but du modèle OFL est d'aider à améliorer la qualité du code produit en donnant plus d'information et donc de précision sur les relations entre descriptions. Nous souhaitons de cette manière favoriser l'évolution et la maintenabilité des applications par l'intermédiaire d'une meilleure spécification, d'une documentation plus explicite, de contrôles automatiques plus pertinents, ... Il s'agit également d'offrir une plus grande souplesse au programmeur en lui permettant, par une phase de paramétrage ou de méta-programmation, de mieux adapter son langage de programmation de prédilection à ses besoins. L'objectif de cette thèse est de définir le modèle OFL et d'en présenter des exemples d'application.
Identifer | oai:union.ndltd.org:CCSD/oai:tel.archives-ouvertes.fr:tel-00504891 |
Date | 20 December 2001 |
Creators | Crescenzo, Pierre |
Publisher | Université de Nice Sophia-Antipolis |
Source Sets | CCSD theses-EN-ligne, France |
Language | French |
Detected Language | French |
Type | PhD thesis |
Page generated in 0.0019 seconds