1 |
Adaptability and encapsulation in dynamically typed languages : taming reflection and extension methods / Adaptabilité et encapsulation dans les langages dynamiquement typés : contrôler la réflexion et les méthodes d’extensionTeruel, Camille 21 January 2016 (has links)
Les utilisateurs s'attendent à ce que les logiciels soient à la fois continuellement disponibles et mis-à-jour à la volée. L'introduction de nouvelles fonctionnalités et l'intégration de correctifs ne doit pas perturber la bonne marche d'une application. Les développeurs bénéficient aussi de la modification dynamique des logiciels en adaptant le code à de nouvelle situations ou bien an exécutant des analyses dynamiques à des fins de monitorage, de déboguage et d’optimisation. Les langages de programmation doivent donc fournir aux développeurs des mécanismes qui améliorent l'adaptabilité logicielle. Dans le même temps, l'augmentation de la taille et de la complexité des logiciels requièrent des applications faites de nombreux composants développés par différents groupes. Dans ce contexte chaque composant doit être convenablement protégé des autres. Les langages de programmation doivent donc aussi fournir des mécanismes qui améliorent l'encapsulation. Le besoin de supporter des adaptations dynamiques d'un côté, et le besoin d'avoir des composants convenablement confinés d'un autre, poussent la conception des langages de programmation dans deux directions opposées: soit plus de flexibilité, soit plus de contrôle. Cette dissertation étudie cette tension dans le contexte des langages orientée-objet dynamiquement typés via deux mécanismes qui promeuvent l'adaptabilité logicielle: la réflexion et les méthodes d’extension. Pour chacun de ces mécanismes, nous démontrons leur utilité, leurs effets néfastes sur l'encapsulation et proposons des solutions qui conservent leurs forces tout en maintenant l'encapsulation. / Users expect modern software to be both continually available and updated on the fly. Introduction of new features and integration of bug fixes should not trouble the smooth running of an application. Developers also benefit from dynamic modifications of software by adapting code to new unanticipated situations or by running dynamic analyses to get feedback about the behavior of running applications for monitoring, debugging and optimization purposes. Programming languages should thus provides developers with mechanisms that improve software adaptability. At the same time, the increasing size and complexity of software call for applications made up of many interacting components developed by different parties. In this context, each component needs to be properly protected from other ones. Programming languages should thus provide developers with mechanisms that improve encapsulation. The need for dynamic adaptations on the one hand and the need for properly confined components on the other hand pulls programming language design in two opposite directions: either more flexi-bility or more control.This dissertation studies this tension in the context of dynamically-typed object-oriented languages with two language mechanisms that promote software adaptability: reflection and extension meth-ods. For both mechanisms, we demonstrate their usefulness, their harmful effect on encapsulation and propose solutions to retain their power while maintaining encapsulation.
|
2 |
Propagation de la 2-birationalitéBourbon, Claire 30 June 2011 (has links)
L’objet de cette thèse est l’étude de la propagation de la 2-birationalité pour les 2-extensions de corps de nombres. Le problème étudié se présente comme suit : étant donnés un corps 2-rationnel totalement réel K, une extension quadratique totalement imaginaire L de K, et une 2-extension totalement réelle de K de K, à quelles conditions la 2-birationalité du compositum L = KL se lit-elle sur L ? La thèse se structure en trois parties : l’étude du cas absolument quadratique d’abord, le cas relativement quadratique ensuite ; le cas général enfin. Le résultat principal de la thèse résout complètement le problème posé en toute généralité. En fin de thèse, diverses illustrations numériques sont proposées à l’aide du PARI, ainsi qu’une étude des tours d’extensions 2-birationnelles. / This thesis deals with the propagation of 2-birationality for 2-extensions of numbers fields. More precisely, le t K be a 2-rational totally real number field, L a CM quadratic extension of K, and let K be a totally real 2-extension of K. Under which conditions can one read the 2-birationaltiy of the compositum L = LK from L ? This work is divided into three parts : we first study the absolute quadratic case, then the relatively quadratic case, then finally the general case. The thesis’s main result solves the whole problem. We also illustrate the result with various numeric examples, obtained with PARI and a focus at the end on 2-birational extensions’ towers.
|
Page generated in 0.0904 seconds