Return to search

Intégration d'un modèle d'adaptation dynamique et de sécurité d'objets avec vue

La programmation orientée objet est une solution idéale pour une multitude de problèmes depuis plus de deux décennies. Des langages tels que le C++ et le Java ont largement contribué à l'expansion. Ce succès repose en partie sur une raison toute simple : il est plus naturel d'utiliser des objets qui se rapprochent de la réalité « humaine » que de travailler avec des fonctions séquentielles généralement associées à des processus informatiques. Il est relativement aisé d'identifier les caractéristiques et les comportements d'un objet et toute bonne analyse permet de gérer adéquatement les interrelations entre les objets dans un système.

Toutefois, on limite parfois notre réflexion à un stade d'abstraction insuffisant pour aller chercher un maximum d'avantages des objets. Les objets sont correctement développés, dans un système répondant à un nombre fini d'événements, mais on néglige le fait que ce même système est en contact avec un élément chaotique et imprévisible, l'humain.

Prenons exemples des comportements dynamiques entre les objets, des divers patrons de conception déjà avancés, mais surtout de la question des comportements de ces objets (ayant des comportements figés) face aux besoins réels d'un utilisateur en constant changement. Après un certain temps, un système informatique peut évoluer dans ses comportements et ses rôles. De nouvelles fonctionnalités sont, à travers son cycle de vie, ajoutées, supprimées ou deviennent tout simplement non disponibles. Aussi, chacun des acteurs du système, autant les clients humains que les systèmes informatiques externes, a des besoins variables qui peuvent exiger un changement de vocation du système utilisé. Ce dernier doit être évolutif pour y répondre. À une échelle d'entreprise, on peut dire que plusieurs clients observent et utilisent des aspects distincts du même objet. Que faire si cet objet ne peut satisfaire aux différents intérêts du client?

La programmation par vue a pour mission de répondre à cette situation. Elle permet à différents usagers de percevoir et utiliser différents sous-ensembles des fonctionnalités présentes au sein de l'objet a un moment donné. Le client a un besoin un jour, la programmation par vue lui propose une interface adaptée, son besoin change le lendemain, les vues évoluent en conséquence.

La programmation par vue existe depuis quelques années, mais certains questionnements étaient demeurés sans réponse. Le sujet du présent mémoire sera de fournir quelques-unes des réponses à une série de problématiques entourant principalement i) la sécurisation de l'objet partagé selon les privilèges de chaque programme client, ii) la transparence et la gestion de changement de comportements de l'objet en question, et iii) l'intégration de mécanismes de partage des ressources.

Nous avons étendu le modèle de sécurité de Java afin de pouvoir gérer l'évolution des comportements. Java propose un modèle d'utilisation simple demandant une configuration minimale. Notre solution vise à garder une approche le plus transparente possible pour le client et aussi pour la classe de base (le système) que l'on désire faire évoluer.

Notre recherche abordera la programmation par vue avec extension de sécurité à l'aide d'énoncés de problématiques. Le développement de notre outil sera accompli via une solution conceptuelle en UML et une implementation en Java.

Identiferoai:union.ndltd.org:Quebec/oai:constellation.uqac.ca:277
Date January 2010
CreatorsDallaire, Éric
Source SetsUniversité du Québec à Chicoutimi
LanguageFrench
Detected LanguageFrench
TypeThèse ou mémoire de l'UQAC, NonPeerReviewed
Formatapplication/pdf
Relationhttp://constellation.uqac.ca/277/, doi:10.1522/030145958

Page generated in 0.0017 seconds