Représentation graphique des objets et sous-typage

Dimension: px
Commencer à balayer dès la page:

Download "Représentation graphique des objets et sous-typage"

Transcription

1 Représentation graphique des objets et sous-tpage Cong-Cong Xg * Boumediene Belkhouche ** * Dept of Mathematics and Computer Science Nicholls State Universit, Thibodau, LA 70310, USA cmps-c@nicholls.edu ** EECS Department, Tulane Universit, New Orleans, LA 70118, USA bb@eecs.tulane.edu RÉSUMÉ. Les dépendances ernes parmi les propriétés des objets caractérisent leurs comportements et les différencient des enregistrements. Des problèmes fondamentau de tpage/soustpage persistent encore dans les sstèmes de tpes d objets parce que les erdépendances parmi ces propriétés ne sont pas prises en compte. Dans ce papier, nous proposons une nouvelle méthode de tpage des langages orientés objet qu on appelera graphe tpe pour objets (OTG). Les tpes des objets sont représentés par des graphes orientés et colorés. Les erdépendances parmi les propriétés sont formalisées par des liens égrés dans les tpes mêmes. Asi, nous démontrons que les problèmes qui eistent dans les sstèmes traditionnels de tpes peuvent être facilement résolus sous OTG. ABSTRACT. Internal dependencies among object components characterize the behaviors of objects and differentiate them from records. Fundamental tpg/subtpg shortcomgs still persist current object tpe sstems due to the overlook of such object component erdependencies. In this paper, we propose object tpe graphs (OTG) as a new approach to the tpg of object-oriented languages. Under OTG, object tpes are represented as colored directed graphs and object component erdependancies are formalized as computable lks and egrated o object tpes. We show how problems conventional object tpe sstems can be easil resolved under OTG. MOTS-CLÉS : variance, sous-tpage, erdépendance, lien. KEYWORDS: variance, subtpg, erdependenc, lk. RSTI - L objet 11/2005. LMO 05, pages 191 à 206

2 192 RSTI - L objet 11/2005. LMO Introduction Dans le cadre de la théorie des tpes des langages orientés objet, il eiste deu grandes lignes de recherche : (1) le ς-calculus de Abadi et Cardelli [ABA 96] ; (2) le lambda calcul des objets de Fisher et Mitchell (et ses etensions) [FIS 94, LIQ 96, LIQ 98, BON 95]. Les deu sstèmes sont conventionnels dans le sens suivant : la distction fondamentale entre objets et enregistrements (c est-à-dire, les objets peuvent avoir des erdépendances entre leurs composants alors que les enregistrements n en ont pas) n est pas saisie dans les deu calculs. La dépendance erne des comportements est un dicateur critique qui différencie les objets des enregistrements. Asi, ne pas eprimer cette erdépendance signifie que deu tpes d objets dont les comportements sont différents peuvent avoir le même tpe. Par eemple, soient les objets a = [ = 1, = 2] et b = [ = 1, = ς(s : Self )(s.+1)], où ς est le liant, s est la variable dont le tpe est Self, et s. est un appel. Dans a, et sont dépendants, alors que dans b, (la valeur de) dépend de (la valeur de). La différence dans le comportement de a et de b se voit dans les résultats des appels à chaque avant et après la mise à jour de chaque. Par eemple, a. = 2, (a. 2). = 2, b. = 2, mais (b. 2). = 3, où est une opération de mise à jour des composants. Nous constatons que le comportement de a ne change pas avant et après l opération de mise à jour, alors que le comportement de b est modifié une fois que l opération de mise à jour est appliquée à b. Ce désaccord n est pas signalé dans les sstèmes conventionnels de tpes pour objets. Par conséquent, a et b sont du même tpe [ :, : ] et peuvent asi être utilisées de façon erchangeable dans n importe quel contete de programme où un objet de tpe [ :, : ] est utilisable. Des erreurs subtiles de programmation deviennent évitables, spécialement lorsque l on considère le sous-tpage et la subsomption. Dans ce papier, nous roduisons une nouvelle méthode pour représenter les tpes d objets qu on appellera graphe tpe pour objets (OTG). Cette représentation nous permet d eprimer les erdépendances. L organisation du papier est comme suit. Dans la section suivante, nous roduisons le problème de variance et de sous-tpage des enregistrements et des objets. Dans la section 3, nous traitons l eemple du po mobile pour signaler certas problèmes de sous-tpage. Dans la section 4, nous défissons un simple langage orienté objet (TOOL). Dans la section 5, nous défissons la représentation graphique OTG. Dans la section 6, nous défissons le sous-tpage des objets dans le cadre OTG. Plusieurs eemples de sous-tpage sont présentés. Enf, dans la section 7, nous présentons nos conclusions. 2. La variance du sous-tpage des objets En règle générale, on utilise l opérateur <: pour diquer que le sous-tpage des objets est appliqué selon les composants respectifs de ces objets. C est-à-dire, étant donnés deu tpes d objet A = [l 1 : t 1,..., l n : t n ] et B = [l 1 : s 1,..., l m : s m ], la relation A <: B dépend des relations de sous-tpage entre t i et s i pour chaque

3 Sous-tpage des objets i m(n, m). Asi, il a trois formes de sous-tpage : contravariance, covariance, et variance. Un sous-tpage est appelé contravariant (covariant, variant, respectivement) si : A <: B si et seulement si s i <: t i (t i <: s i, t i = s i, respectivement) pour chaque i. Les sous-tpages contravariant et covariant présentent de sérieu problèmes et sont à rejeter en faveur du sous-tpage variant [ABA 96, BON 95, CAS 95, LIQ 96]. Cependant, le sous-tpage variant lui-même est restrictif lorsqu on considère les enregistrements et les objets. En effet, les enregistrements sont un cas spécial d objets sans erdépendances parmi les composants [CAR 91]. Pour illustrer, considerons l ensemble des identificateurs de domaes S = {α, β}, et l ensemble des opérateurs Σ = {<:} où <: a pour tpe α α β, et les représentations Re = (Re α, Re β ) = (Re, {t, f}) et Ob = (Ob α, Ob β ) = (Ob, {t, f}). Aussi, soit f <: une function de Re Re à {t, f} qui fait correspondre deu enregistrements r 1, r 2 à t si le tpe de r 1 est un sous-tpe du tpe de r 2, et à f autrement. g <: est une function de Ob Ob à {t, f} ie de la même manière pour les objets. Asi, Re Ob = (Re, f <: ), = (Ob, g <: ) sont deu Σ-algèbres. En plus, soit h : Re Ob, h α : Re α Ob α, and h β : Re β Ob β ies asi : h = (h α, h β ) = (h, id). Alors, h devrait être un Σ-homomorphisme de Re à Ob, étant donné que h est une clusion naturelle de Re à Ob. C est-à-dire, h(f <: (r 1, r 2 )) = g <: (h(r 1 ), h(r 2 )) devrait être vraie pour t enregistrement r 1, r 2 Re. Le diagramme suivant est commutatif. Re Re h 2 Ob Ob f <: g <: {t, f} id {t, f} Figure 1. Homomorphisme de Re à Ob Malheureusement, le sous-tpage variant ne permet pas cette commutativité. Par eemple, soient les enregistrements suivants : r 1 = = 1, = 2 et r 2 = = 1.0, = 2.0, qui ont pour tpes t 1 = :, : et t 2 = :, :,

4 194 RSTI - L objet 11/2005. LMO 05 respectivement. Alors, t 1 <: t 2 Cependant, quand r 1 et r 2 sont considérés comme des objets, nous avons o 1 = [ = 1, = 2] et o 2 = [ = 1.0, = 2.0], aant pour tpes T 1 = [ :, : ] et T 2 = [ :, : ]. Le sous-tpage espéré T 1 <: T 2 n est pas conservé à cause de l variance. Il faut remarquer qu il a une bonne raison de vouloir le sous-tpage T 1 <: T 2. Les deu objets o 1 et o 2 sont dans un sens dégénérés. Les objets o 1 et o 2 devraient être consistants avec les enregistrements r 1 et r 2, et la nécessité d avoir T 1 <: T 2 suit de t 1 <: t 2. Il est clair que les trois méthodes de sous-tpage ne sont pas satisfaisantes. Dans ce papier, nous défirons une méthode de sous-tpage ( variance-par-nécessité ) capable de recouvrir les cas de sous-tpage variant qui sont perdus dans le sous-tpage variant traditionnel. 3. Distance d un po mobile Les pos avec des attributs supplémentaires (pos colorés [BRU 94, COO 90, HIC 02], pos mobiles [ABA 96, BON 95, HIC 02]) présentent des cas éressants dans l étude des langages orientés objet. Nous traitons ici un nouveau problème associé avec les pos mobiles. Soit un po en une dimension : p 1 = = 1.0 mv = ς(s:self )λ(i:)(s. s. + i) dist = ς(s:self )s. où mv déplace le po vers une position nouvelle sur l ae des et dist retourne la distance de l orige à la position actuelle du po. Dans les sstèmes conventionnels de tpes le tpe de p 1 est : P 1 = : mv : Self dist : Soit une autre fonction (m1d) qui prend un po appartenant à P 1, le déplace d une unité le long de l ae des, puis retourne sa distance de l orige. À cause du soustpage et de la subsomption, m1d prendra aussi comme paramètres des pos de dimension plus élevée qui sont des sous-tpes de P 1. Dans ce cas, cette fonction déplacerait les pos appartenant à ces sous-tpes le long de l ae des et garderait les autres coordonnées constantes. Naturellement, m1d pourrait être écrite asi : m1d = λ(p:p 1 )(p.mv(1)).dist Comme prévu, nous obtenons m1d(p 1 ) = 2.0. Maenant défissons un po à deu dimensions comme suit : = 1.0 = 1.0 p 2 = mv = ς(s:self )λ(i:)(s. s. + i) mv = ς(s:self )λ(i: )(s. s. + i) dist = ς(s:self ) (s.) 2 + (s.) 2

5 Sous-tpage des objets 195 Le tpe de p 2 est : P 2 = : : mv : Self mv : Self dist : La relation P 2 <: P 1 est facilement déduite. La position actuelle du po p 2 est (1, 1). Après application de m1d(p 2 ), p 2 se déplace de (1, 1) à (2, 1) La distance est 5 comme prévu. Défissons un autre po à deu dimensions comme suit : = 1.0 p = ς(s:self )s. 2 = mv = ς(s:self )λ(i:)(s. s. + i) mv = ς(s:self )λ(i: )(s. s. + i) dist = ς(s:self ) (s.) 2 + (s.) 2 Dans les sstèmes conventionnels de tpes, p 2 et p 2 ont le même tpe P 2 et tous les deu représentent le même po (1, 1) avec eactement les mêmes opérations (mv, mv, et dist). Le résultat retourné par m1d(p 2 ) est 2 2. Le problème apparent est que lorsque la coordonnée de p 2 devient 2, la coordonnée devient implicitement 2, à cause de l erdépendance entre et ( = s.). Asi, m1d(p 2 ) retourne la distance de l orige à (2, 2) au lieu de (2, 1). Nous constatons que l erdépendance entre les composants des objets est importante vis-à-vis des comportements des objets. Le tpe de l objet devrait saisir cette erdépendance et distguer entre p 2 et p Un langage tpé orienté objet (TOOL) Les termes de tpes de TOOL sont défis comme suit. T ermes M ::= λ(:σ).m M 1 M 2 M.l M.l ς(:σ)m [l i = ς(:s(a))m i ] n i=1 T pes σ ::= κ t σ 1 σ 2 µ(t)σ A S(A) A ::= ι(t)[l i (L i ):σ i ] n i=1 L i {l 1,..., l n } pour chaque i [l i = ς( : S(A))M i ] n i=1 représente un objet qui possède n méthodes, avec comme nom l i et corps M i pour chaque i. ς est un auto-liant (). M.l ς( : σ)m est

6 196 RSTI - L objet 11/2005. LMO 05 l opération de mise à jour qui a pour effet de remplacer le corps de la méthode l dans M par M. κ, t, σ 1 σ 2, et µ(t)σ sont respectivement les tpes de base, les variables, les tpes de fonction, et les tpes récursifs. Les tpes d objets sont représentés par ι(t)[l i (L i ):σ i ] n i=1 où chaque méthode l i a pour tpe σ i. L i est l ensemble des liens de l i. ι est un tpe auto-liant utilisé pour signifier que chaque occurrence de t dans chaque σ i représente l auto-tpe associé au tpe de l objet. Une autre façon d écrire l autotpe est S(A) qui signifie l auto-tpe associé au tpe de l objet A. Les deu notations se défissent entre elles comme suit : A = ι(t)[l i (L i ) : σ i (t)] n i=1 si et seulement si A = [l i (L i ):σ i (S(A))] n i=1. L eemple suivant sert à illustrer la notation. Soit le tpe A = ι(t) l 1({l 2, l 3 }) : t l 2 ( ) :. l 3 ({l 2 }) : Il spécifie que l 1, l 2, et l 3 sont respectivement un auto-tpe,, et. L ensemble des liens pour l 1 et l 3 sont {l 2, l 3 } et {l 2 }. l 2 n a pas de liens. Un eemple d objet de tpe A est : a = l 1 = ς(s:s(a))s l 2 = ς(s:s(a))1. l 3 = ς(s:s(a))λ(: )( + s.l 2 ) Liens Dans le tpe d objet ι(t)[l i (L i ):σ i ] n i=1, les étiquettes L i suivant chaque l i forment l ensemble des liens de l i. Cet ensemble est utilisé pour eprimer les dépendances entre les composants des objets. C est-à-dire, l j L i signifie que la méthode l i dépend (partiellement) de la valeur de la méthode l j. Ce mécanisme différencie les tpes d objet de TOOL des tpes d objet des sstèmes conventionnels de tpes. Eemple 1 Étant donné l objet a et le tpe A (défis plus haut), les liens dans a sont : L a (s) = {l 1, l 2, l 3 } {l 1 } = {l 2, l 3 } L a (1) = L a (λ(:)( + s.l 2 )) = L a ( + s.l 2 ) = L a () L a (s.l 2 ) = {l 2 } = {l 2 } Défition 1 (Liens) Étant donné un objet a = [l i = ς(s:s(a))m i ] n i=1, (1) on dit que l i est dépendant de l j (i j) s il eiste un M tel que a.l i et (a.l j ς(s:σ)m).l i donnent des résultats différents ; (2) on dit que l i est directement dépendant de l j (i j) si (a) l i est dépendant de l j, et (b) si tous les l k (i k, j k) où l i est dépendant

7 Sous-tpage des objets 197 de l k et l k est dépendant de l j, sont détachés de a, l i demeure toujours dépendant de l j ; (3) L ensemble des liens de l i (ou bien de M i par rapport à l objet a), dénoté par L(l i ) (ou bien b L a (M i )), contient eactement tous les l j dont l i est directement dépendant. 5. Graphes tpe pour objets (OTG) Nous roduisons ici une représentation graphique des tpes d objet. Les OTG sont basés sur les graphes orientés colorés. Les graphes complees sont construits à partir des graphes tpe de base, graphes tpe de fonctions, et les graphe tpe d objets. Nous commençons par quelques défitions. Défition 2 (Graphe Orienté Coloré) Un graphe orienté coloré G est un quadruplet (G N, G A, C, c) composé de : (1) un ensemble de sommets G N ; (2) un ensemble d arcs G A ; (3) un ensemble de couleurs C ; (4) une fonction couleur c : G N G A C, qui retourne la couleur d un arc ou d un sommet. En plus, nous défissons une fonction source sc : G A G N, et une fonction destation t : G A G N, qui génèrent respectivement la source et la destation d un arc. Un graphe tpe de base G est un graphe coloré aant un seul sommet. Sa couleur est un tpe de base. Les graphes tpe de base et les graphes tpe fonction forment les éléments de base pour construire des graphes complees. Défition 3 (Graphe Tpe Fonction) Un graphe tpe fonction G = (s, G 1, G 2 ) est un graphe orienté coloré qui consiste en un sommet s, appelé sommet race, et de deu sous-graphes G 1 et G 2, tels que : (1) c(s) = ; (2) il a deu arcs associés au sommet race s, l arc gauche l et l arc droit r, tels que c(l) =, c(r) = ; l lie G 1 à s par sc(l) = s G1, t(l) = s, et r lie s à G 2 par sc(r) = s, t(r) = s G2, où s G1 et s G2 sont les sommets race de G 1 et G 2, respectivement ; (3) G 1 et G 2 sont disjos ; (4) s il eiste un arc a dans G avec c(a) = rec, alors sc(a) = s Gi, t(a) = s, c(s Gi ) =, i = 1, 2. G 1 est le graphe tpe de l argument de la fonction et G 2 est le graphe tpe du résultat. Le graphe tpe fonction est formé par un sommet race s lié à G 1 par un arc de couleur et à G 2 par un arc de couleur. Défition 4 (Graphe Tpe Objet) Un graphe tpe objet O = (s, A, R, L, S) est un graphe coloré aant un sommet race s, un ensemble A d arcs méthode, un ensemble R d arcs colorés avec rec, un ensemble L d arcs lien, et un ensemble S de graphes tpe, tels que : (1) c(s) =. (2) a A, sc(a) = s, t(a) = s F pour un certa graphe tpe F S, et c(a) = m pour une certae couleur de méthode m ; c(a) c(b) pour a, b A, a b. (3) r R, c(r) = rec, t(r) = s, sc(r) = s F pour un certa F S, et c(s F ) =. (4) l L, sc(l) = s F, t(l) = s G pour un certa F, G S, et c(l) = bm pour une certae couleur d une méthode m.

8 198 RSTI - L objet 11/2005. LMO 05 Donc, un graphe tpe objet est formé par un sommet race et un ensemble S de graphes tpe avec chaque graphe tpe F S lié à s par un arc méthode allant de s à F. La couleur du sommet race est. Les erdépendances entre les méthodes sont spécifiées par les arcs de L. Si L(m) est l ensemble des liens de la méthode m, alors pour chaque l L(m) il eiste un arc coloré avec bm. Les tpes récursifs sont diqués par des arc appartenant à R. Eemples de graphes tpe objet Eemple 2 Dans la Figure 2, A, B, et C sont des graphes tpe pour les tpes de base,, et bool, respectivement. D est un graphe tpe pour un tpe fonction. E est le graphe tpe pour ( ) ( ). Eemple 3 Dans la Figure 3, le graphe A dénote l objet de tpe [ :, : ], où les méthodes et sont dépendantes l une de l autre. Le graphe B dénote le tpe [ :, ({}) : ] où dépend de. Notons que la direction des liens dans B va de à ce qui signifie que les modifications de la méthode affectent (l évaluation de). Le graphe C représente le tpe objet µ(t)ι(s)[a :, b : t, c : s] où les deu tpes objet récursif et les auto-tpes participent. La méthode a retourne une valeur de tpe ; la méthode b est de tpe objet récursif et retourne un objet de tpe C. La méthode c est de tpe auto-tpe duit par le tpe objet C. Ceci est diqué par la boucle partant du sommet s vers lui-même. Notons les différences structurelles entre les tpes objet récursifs et les auto-tpes. Le graphe D représente le tpe d un po mobile en une dimension [ = 1, mv = ς(s : S(D))λ(i : )s. s. + i]. Le fait que mv dépende de et retourne une version modifiée de lui-même est diqué par l arc coloré avec et l arc coloré par dans le graphe tpe D. Eemple 4 Deu graphes tpe objet sont eposés dans la Figure 4. Ils représentent d autres variations de tpes de pos. Le graphe A est le tpe de l objet : = 1, m 1 = ς(s:s(a)λ(i:)p m 2 = ς(s:s(a)λ(i:)s où p est un po de tpe A. Le graphe B est le tpe de l objet = 1 = 2 d = ς(s:s(b))(s. + s.)/2 e 1 = ς(s:s(b))λ(p:b)(p. = s. et. p. = s.) e 2 = ς(s:s(b))λ(p:s(b))(p. = s. et p. = s.)

9 Sous-tpage des objets 199 bool A B C D E Figure 2. Graphes Tpe de Base et Graphes Tpe Fonction s s a b c rec s mv A B C D Figure 3. Graphes Tpe Objet m1 m2 rec bm1 bool b d b e1 e2 b rec bool A B Figure 4. Graphes Tpe Objet

10 200 RSTI - L objet 11/2005. LMO Défitions du sous-tpage des objets Nous adoptons la théorie algébrique des grammaires [EHR 73] pour défir les notions de prémorphisme, base, fermuture des bases, et sous-tpage. Défition 5 (Prémorphisme de Graphe Tpe) Soit Φ l ensemble de tpes de base. Soient deu graphes orientés colorés G =(G N, G A, C, c) et G =(G N, G A, C, c ), un prémorphisme de graphe tpe f : G G est une paire de transformations (f N :G N G N, f A :G A G A ), telles que (1) a G A, f N (sc(a)) = sc (f A (a)), f N (t(a)) = t (f A (a)), et c(a) = c (f A (a)) ; (2) v G N, si c(v) Φ, alors c (f N (v)) Φ ; autrement c(v) = c (f N (v)). Ces prémorphismes préservent les directions et les couleurs des arcs et préservent les couleurs des sommets jusqu au tpes de base. G, dénotée par Ba(G), est le graphe (s, A, t(a), L) où t(a) = {t(a) a A}. Une sous-base de G est un sous-graphe (s, A, t(a ), L ) de Ba(G) où A A, L L, t(a ) = {t(a) a A }, et pour chaque l L il eiste a 1, a 2 A tels que sc(l) = t(a 1 ) et t(l) = t(a 2 ). La fermeture de la sous-base D = (s, A, t(a ), L ) d un graphe tpe objet G = (s, A, R, L, S), dénotée par Cl(D), est l union D E 1 E 2 où (1) E 1 = {l L a 1, a 2 A avec t(a 1 ) = sc(l), t(a 2 ) = t(l)}, et (2) E 2 = {l, h, a, t(l) l, h L, a A, a A, t(l) = sc(h) = t(a), et a 1, a 2 A tel que t(a 1 ) = sc(l), t(a 2 ) = t(h)}. Un eemple de base, sous-base, et fermeture est eposé dans la Figure 5. Le comportement d une méthode dans une sous-base peut non seulement affecter d autres méthodes dans la sous-base mais aussi affecter des méthodes en dehors. L idée de fermeture permet d eprimer le comportement total de la sous-base en cluant les méthodes, les liens, et les possibilités de dépendance directe ou directe. Une sous-base D est fermée si D = Cl(D). La fermeture est utilisée pour vérifier la spécification structurelle lors de la comparaison de deu graphes tpe objet dans le cas de sous-tpage. L autre spécification concernant le sous-tpage des objets est la variance. Étant donné un graphe tpe objet G = (s, A, R, L, S), pour chaque v t(a), si v n est pas cident à aucun par-arc ( b-arcs ) ou si v est un sommet destation d un par-arc, mais n est pas le sommet source d un par-arc, alors v est covariant ; autrement, v est variant. À la différence des sstèmes conventionnels de tpes qui prédéfissent la variance (c est soit variant, soit variant), la variance dans OTG est détermée par les erdépendances des méthodes. Un objet peut contenir des méthodes covariantes aussi bien qu variantes. Ceci nous amène à roduire ce nouveau sous-tpage ( variance-par-nécessité ) dans lequel le sous-tpage covariant et le sous-tpage variant co-eistent dans le même cas. Nous commençons par défir le sous-tpage des objets par les défitions des sous-tpages des objets de base et des fonctions. Soient deu graphes tpe de base G et F, F <: G si et seulement si c(s F ) <: c(s G ), où s F et s G sont des sommets simples dans F et G respectivement. Soient deu graphes tpe fonction G = (s G, G 1, G 2 ) et F = (s F, F 1, F 2 ), F <: G si et seulement si G 1 <: F 1 et F 2 <: G 2.

11 Sous-tpage des objets 201 n m u z u z b bz b bz (a) G (b) Ba(G) u b u (c) D (d) Cl(D) Figure 5. (a) Graphe Tpe Objet G ; (b) La Base Ba(G) de G ; (c) Une sous-base D de G ; (d) La Fermeture Cl(D) Défition 6 (Sous-tpage des objets) Soient deu graphes tpe objet G = (s G, A G,, L G, S G ) et F =(s F, A F,, L F, S F ). F <: G si et seulement si les conditions suivantes sont satisfaites : (1) il eiste un préisomorphisme f de la base Ba(G) à la base Ba(F ) tel que f(ba(g)) = Cl(f(Ba(G))) (c est-à-dire, f(ba(g)) est fermée) ; (2) Pour chaque sommet v dans f(ba(g)), soient u son pré-image dans Ba(G) sous f, F v S F le graphe tpe avec v pour sommet race, et G u S G le graphe tpe avec u pour sommet race : (i) si v est variant, alors F v = Gu ; (ii) si v est covariant, alors F v <: G u. L idée prcipale ici est que F <: G si (a) F possède tes les méthodes que G a ; (b) les erdépendances entre les méthodes de G sont les mêmes que celles entre les méthodes de F qui leur correspondent (ceci est assuré par le prémorphisme f et la propriété de fermeture de l image de la base de G sous f) ; (c) les tpes de méthodes de G sont comparés récursivement au tpes des méthodes correspondantes de F. La comparaison peut être variante, variante, ou une combaison des deu selon la variance de chaque méthode. Dans le cas des tpes récursifs, le dépliage des graphes est nécessaire pour pouvoir effectuer le sous-tpage.

12 202 RSTI - L objet 11/2005. LMO 05 l l 1 2 g l1 l 2 v v 1 2 T 2 1 T Figure 6. Graphes Tpe de o 1 et o 2 Pour illustrer nos défitions, nous présentons ici plusieurs eemples. Dans notre discussion, nous comparons OTG au autres sstèmes de tpes en soulignant les avantages de OTG. Nous commençons par montrer la simplicité de OTG en adressant les problèmes du sstème conventionnel. Eemple 5 Le premier problème est que dans les sstèmes conventionnels de tpes, le tpage covariant des enregistrements est perdu quand les enregistrements sont considérés en tant qu objets. Ceci crée un trou dans la théorie des objets. L homomorphisme de Re à Ob ne peut pas être établi. Sous OTG, cette covariance est maenue. Les enregistrements sont des cas spéciau d objets sans erdépendance parmi leurs méthodes. Asi, les graphes tpe n ont pas de liens et chaque méthode est covariante dans le sous-tpage. Par eemple, soient les enregistrements r 1 = l 1 = 1, l 2 = 2 et r 2 = l 1 = 1.0, l 2 = 2.0 transformés en objets o 1 = [l 1 = 1, l 2 = 2], o 2 = [l 1 = 1.0, l 2 = 2.0]. Les graphes tpe de o 1 et o 2 sont illustrés dans la Figure 6 par T 1 et T 2. Il eiste un prémorphisme g de T 2 à T 1 et les deu sommets v 1 et v 2 sont covariants parce qu ils ne sont pas cidents à aucun par-arc (b-arc). Asi, T 1 <: T 2 est facilement établie (nous supposons <: ). Le cas général peut être démontré de façon similaire en analsant les graphes tpe. Le sous-tpage sous OTG implante l homomorphisme et assure la commutativité du diagramme 1. Eemple 6 Le deuième problème est la fonction m1d. Cette fonction est construite dans OTG de façon fiable. Les tpes de p 1, p 2, et p 2 sont Q 1, Q 2, et Q 2, respectivement (Figure 7). La fonction m1d est : m1d = λ(p : Q 1 )((p.mv(1)).dist) Dans OTG, vérifier que Q 2 <: Q 1 est très simple. Ceci implique que le tpage de m1d(p 2 ) est correct. Mais Q 2 : Q 1 parce que l image f(ba(q 1 )) de la base de

13 Sous-tpage des objets 203 dist mv b dist mv mv b dist b mv mv b Q1 Q 2 Q 2 Figure 7. Q 1, Q 2, et Q 2 sont les tpes de p 1, p 2, et p 2 respectivement Q 1 sous le prémorphisme f de Ba(Q 1 ) à Ba(Q 2 ) n est pas fermée (f(ba(q 1)) Cl(f(Ba(Q 1 )))). Par conséquent, la possibilité pour m1d de prendre le po p 2 :Q 2 est élimée, évitant asi des résultats erronés. Eemple 7 Dans le cas de l eemple 5, nous observons que OTG relae le soustpage variant permettant asi le sous-tpage covariant. L eemple suivant montre que l variance est adoptée par OTG lorsque c est nécessaire. Soit l objet : a = [ ] = 1 = ς(s:s(a))( s. )! où et! sont les fonctions valeur absolue et factorielle. Le tpe de cet objet est représenté par le graphe A dans la Figure 8(a). Notons l eistence du par-arc (b-arc) allant de u à v. Donc, le noeud u est variant ce qui signifie que la méthode est variante. Pour apprécier la nécessité de cette variance, supposons que u est covariant, alors le tpe de A serait un sous-tpe de B (Figure 8(b)) et a:b par subsomption. La méthode de a peut être mise à jour avec une valeur réelle (1.2 par eemple) pour produire un autre objet : b = [ ] = 1.2. = ς(s:s(a))( s. )! Cependant, une erreur du calcul b. = ( 1.2 )! s ensuit parce que la valeur de l objet n appartient pas au domae de la fonction. Ceci est la raison prcipale qui motive l utilisation de sous-tpage variant dans les sstèmes conventionnels [ABA 96]. Dans le sous-tpage de OTG, la propriété de variance de chaque méthode est détermée par les liens. Le sous-tpage est déduit conformément. Dans cet eemple, la méthode est variante et la méthode est covariante. Discussion Soient deu méthodes et dans un graphe tpe objet. Nous avons à considérer quatre cas de dépendance entre et : (a) il n eiste aucun lien entre elles ; (b) il a un lien de à, mais pas de lien de à ( dépend de mais ne dépend pas de ) ; (c) il a un lien de à, mais pas de lien de à ( dépend de

14 204 RSTI - L objet 11/2005. LMO 05 A B u v (a) (b) Figure 8. (a) Le tpe de a. (b) Un tpe ne pouvant pas être un supertpe de A A B C D Figure 9. Cas prcipau des liens mais ne dépend pas de ) ; (d) il a un lien de à et un lien de à. ( et dépendent l un de l autre). Ces cas sont représentés dans la Figure 9 par les graphes tpe A, B, C, et D respectivement. Nous démontrons que chaque cas est différent des autres. Si B est considéré comme le même tpe (ou un sous-tpe de) A, alors on roduirait une erreur dans l eemple des pos mobiles. Proposition 1 Soit un graphe tpe objet A dans lequel il a un lien entre deu méthodes et. Soit le graphe tpe objet B obtenu de A en supprimant tous les liens dans A. On ne peut avoir ni A = B ni A <: B. Si nous considérons A comme le même tpe (sous-tpe) que B, alors nous offrons la possibilité à un objet dont les composants sont dépendants les uns des autres d être

15 Sous-tpage des objets 205 vu comme un objet dont les composants sont dépendants. Comme précédemment, ce cas donnera des résultats erronés. Par eemple, soit : ed 1 = dall = code for dall button = ς(s:s(e 1 ))s.dall ed 2 = dall = code for dall button = ς(s:s(e 2 ))s.dall s.dall ed 3 = dall = code for dall button = ς(s:s(e 3 ))() ed 4 = dall = code for dall button = ς(s:s(e 4 ))() () ce = λ(:e 1 ).button où ed i :E i sont des objets d un éditeur, et ce est une fonction qui prend un objet d un éditeur et vide sa mémoire tampon. Pour tous les ed i, dall est une méthode privée qui appelle des services ernes pour supprimer tous les dépouillements de la mémoire tampon. La suppression se faisant par effet secondaire, nous supposons que le résultat retourné par dall est () avec tpe unit (comme en ML). De plus, nous supposons qu il a une opération addition associée à l unité () telle que () () donne comme valeur (). La méthode button dans tous les objets est publique, et une fois qu on appuie sur le bon, elle est supposée appeler dall pour effectuer la suppression. Notons que la méthode button est implantée de façon différente dans chacun des quatre objets : dans ed 1 et ed 2, le bon (button) appelle dall une fois et deu fois respectivement ; dans ed 3 et ed 4, le bon n appelle pas dall. En ce qui concerne les liens, il a un lien de dall à button dans ed 1 et ed 2, mais aucun lien n eiste dans ed 3 et ed 4. Évidemment, ce(ed 1 ) et ce(ed 2 ) nettoient les mémoires tampon de ed 1 et ed 2 comme prévu (si on permet E 2 <: E 1 ), mais ce(ed 3 ) et ce(ed 4 ) ne réussiront pas à accomplir cette tâche (si on permet E 3 <: E 1 et E 4 <: E 1 ) produisant asi une erreur. Ceci nous force à ne pas prendre E 3 et E 4 comme sous-tpes de E 1, et à énoncer la proposition suivante. Proposition 2 Soit un graphe tpe objet A dans lequel il a un lien entre deu méthodes et. Soit le graphe tpe objet B obtenu de A en supprimant tous les liens dans A. On ne peut avoir ni A = B ni B <: A. Les autres cas (Figure 9) peuvent être adressés facilement en utilisant les deu propositions. 7. Conclusion T sstème de tpes devrait traiter les enregistrements et les objets de façon uniforme t en tenant compte des erdépendances parmi les composants des objets.

16 206 RSTI - L objet 11/2005. LMO 05 Ceci n est pas le cas des sstèmes conventionnels, ce qui mène soit à des erreurs, soit à des restrictions de la variance. Pour éviter ces erreurs et ces restrictions, nous avons défi le sstème de tpes OTG. OTG est basé sur la théorie des graphes et permet d eprimer les erdépendances à l aide de liens. Asi les relations entre deu tpes sont détermées par les tpes de leurs composants et les liens parmi leurs méthodes. Dans ce sstème nous avons discuté les différentes formes de sous-tpage. En comparant OTG avec les sstèmes conventionnels, nous avons démontré que le tpage sous OTG est non seulement sûr, mais aussi plus fleible. 8. Bibliographie [ABA 96] ABADI M., CARDELLI L., A Theor of Objects, Sprger-Verlag, New York, [BON 95] BONO V., LIQUORI L., «A Subtpg for the Fisher-Honsell-Mitchell Lambda Calculus of Objects», Proc. of CSL, International Conference of Computer Science Logic, n o 933 Lecture Notes Computer Science, p , Srger Verlag, [BRU 94] BRUCE K., «A paradigmatic Object-Oriented Programmg Language : Design, Static Tpg and Semantics», Journal of Functional Programmg, vol. 4, n o 2, 1994, p [CAR 91] CARDELLI L., MITCHELL J., «Operations of Records», Mathematical Structures Computer Science, vol. 1, n o 1, 1991, p [CAS 95] CASTGNA G., «Covariance and Contravariance : Conflict with a Cause», ACM TOPLAS, vol. 17, 1995, p [COO 90] COOK W., HILL W., CANNING P., «Inheritance is not Subtpg», Proceedgs of the 17the Annual ACM Smposium on Prciples of Programmg Languages, 1990, p [EHR 73] EHRIG H., PFENDER M., SCHNEIDER H. J., «Graph grammars : An algebraic approach», IEEE Conference of Automata and Switchg Theor, 1973, p [FIS 94] FISHER K., HONSELL F., MITCHELL J., «A Lambda Calculus of Objects and Method Specialization», Nordic Journal of Computg, vol. 1, 1994, p [HIC 02] HICKEY J., Introduction to O Caml, http ://caml.ria.fr/tutorials-eng.html, [LIQ 96] LIQUORI L., CASTAGNA G., «A Tped Lambda Calculus of Objects», N o 1179 Lecture Notes Computer Science, p , Srger Verlag, [LIQ 98] LIQUORI L., «On Object Etension», ECOOP 98 Object-oriented Programmg, n o 1445 Lecture Notes Computer Science, p , Srger Verlag, 1998.

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 % 23 CALCUL DE L INTÉRÊT Tau d intérêt Paul et Rémi ont reçu pour Noël, respectivement, 20 et 80. Ils placent cet argent dans une banque, au même tau. Au bout d une année, ce placement leur rapportera une

Plus en détail

Principe de symétrisation pour la construction d un test adaptatif

Principe de symétrisation pour la construction d un test adaptatif Principe de symétrisation pour la construction d un test adaptatif Cécile Durot 1 & Yves Rozenholc 2 1 UFR SEGMI, Université Paris Ouest Nanterre La Défense, France, cecile.durot@gmail.com 2 Université

Plus en détail

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs Eo7 Limites de fonctions Théorie Eercice Montrer que toute fonction périodique et non constante n admet pas de ite en + Montrer que toute fonction croissante et majorée admet une ite finie en + Indication

Plus en détail

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

Plus en détail

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet

Plus en détail

Algèbre binaire et Circuits logiques (2007-2008)

Algèbre binaire et Circuits logiques (2007-2008) Université Mohammed V Faculté des Sciences Département de Mathématiques et Informatique Filière : SMI Algèbre binaire et Circuits logiques (27-28) Prof. Abdelhakim El Imrani Plan. Algèbre de Boole 2. Circuits

Plus en détail

Resolution limit in community detection

Resolution limit in community detection Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.

Plus en détail

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2. Eo7 Calculs de déterminants Fiche corrigée par Arnaud Bodin Eercice Calculer les déterminants des matrices suivantes : Correction Vidéo ( ) 0 6 7 3 4 5 8 4 5 6 0 3 4 5 5 6 7 0 3 5 4 3 0 3 0 0 3 0 0 0 3

Plus en détail

Une méthode d apprentissage pour la composition de services web

Une méthode d apprentissage pour la composition de services web Une méthode d apprentissage pour la composition de services web Soufiene Lajmi * Chirine Ghedira ** Khaled Ghedira * * Laboratoire SOIE (ENSI) University of Manouba, Manouba 2010, Tunisia Soufiene.lajmi@ensi.rnu.tn,

Plus en détail

Modèle de troncature gauche : Comparaison par simulation sur données indépendantes et dépendantes

Modèle de troncature gauche : Comparaison par simulation sur données indépendantes et dépendantes de troncature gauche : Comparaison par simulation sur données indépendantes et dépendantes Zohra Guessoum 1 & Farida Hamrani 2 1 Lab. MSTD, Faculté de mathématique, USTHB, BP n 32, El Alia, Alger, Algérie,zguessoum@usthb.dz

Plus en détail

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services 69 Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services M. Bakhouya, J. Gaber et A. Koukam Laboratoire Systèmes et Transports SeT Université de Technologie de Belfort-Montbéliard

Plus en détail

Plan du cours : Zippers. Des fonctions sur les listes avec position. Des fonctions sur les listes avec position

Plan du cours : Zippers. Des fonctions sur les listes avec position. Des fonctions sur les listes avec position Plan du cours : Le problème : naviguer efficacement une structure de données Ce qui ne marche pas Ce qui marche : les de Huet Exemples Comment dériver des pour tout type de données Pour en savoir plus

Plus en détail

Vérification de programmes et de preuves Première partie. décrire des algorithmes

Vérification de programmes et de preuves Première partie. décrire des algorithmes Vérification de programmes et de preuves Première partie. décrire des algorithmes Yves Bertot September 2012 1 Motivating introduction A partir des années 1940, il a été compris que l on pouvait utiliser

Plus en détail

O, i, ) ln x. (ln x)2

O, i, ) ln x. (ln x)2 EXERCICE 5 points Commun à tous les candidats Le plan complee est muni d un repère orthonormal O, i, j Étude d une fonction f On considère la fonction f définie sur l intervalle ]0; + [ par : f = ln On

Plus en détail

CH.6 Propriétés des langages non contextuels

CH.6 Propriétés des langages non contextuels CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le

Plus en détail

Modélisation géostatistique des débits le long des cours d eau.

Modélisation géostatistique des débits le long des cours d eau. Modélisation géostatistique des débits le long des cours d eau. C. Bernard-Michel (actuellement à ) & C. de Fouquet MISTIS, INRIA Rhône-Alpes. 655 avenue de l Europe, 38334 SAINT ISMIER Cedex. Ecole des

Plus en détail

La mesure de Lebesgue sur la droite réelle

La mesure de Lebesgue sur la droite réelle Chapitre 1 La mesure de Lebesgue sur la droite réelle 1.1 Ensemble mesurable au sens de Lebesgue 1.1.1 Mesure extérieure Définition 1.1.1. Un intervalle est une partie convexe de R. L ensemble vide et

Plus en détail

Cours (7) de statistiques à distance, élaboré par Zarrouk Fayçal, ISSEP Ksar-Said, 2011-2012 LES STATISTIQUES INFERENTIELLES

Cours (7) de statistiques à distance, élaboré par Zarrouk Fayçal, ISSEP Ksar-Said, 2011-2012 LES STATISTIQUES INFERENTIELLES LES STATISTIQUES INFERENTIELLES (test de Student) L inférence statistique est la partie des statistiques qui, contrairement à la statistique descriptive, ne se contente pas de décrire des observations,

Plus en détail

FctsAffines.nb 1. Mathématiques, 1-ère année Edition 2007-2008. Fonctions affines

FctsAffines.nb 1. Mathématiques, 1-ère année Edition 2007-2008. Fonctions affines FctsAffines.nb 1 Mathématiques, 1-ère année Edition 2007-2008 Fonctions affines Supports de cours de mathématiques de degré secondaire II, lien hpertete vers la page mère http://www.deleze.name/marcel/sec2/inde.html

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

Les capitalistes sociaux sur Twitter : détection via des mesures de similarité

Les capitalistes sociaux sur Twitter : détection via des mesures de similarité Les capitalistes sociaux sur Twitter : détection via des mesures de similarité Nicolas Dugué, Anthony Perez LIFO - Université d Orléans rue Léonard de Vinci B.P. 6759 F-45067 ORLEANS Cedex 2 FRANCE RÉSUMÉ.

Plus en détail

Le produit semi-direct

Le produit semi-direct Le produit semi-direct Préparation à l agrégation de mathématiques Université de Nice - Sophia Antipolis Antoine Ducros Octobre 2007 Ce texte est consacré, comme son titre l indique, au produit semi-direct.

Plus en détail

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions HQ = He 1 He 2 He 3 He 4 HQ e 5 comme anneaux (avec centre Re 1 Re 2 Re 3 Re 4

Plus en détail

Partie II Cours 3 (suite) : Sécurité de bases de données

Partie II Cours 3 (suite) : Sécurité de bases de données Partie II Cours 3 (suite) : Sécurité de bases de données ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr http://odile.papini.perso.esil.univmed.fr/sources/ssi.html Plan du cours 1 Introduction

Plus en détail

Construction d un cercle tangent à deux cercles donnés.

Construction d un cercle tangent à deux cercles donnés. Préparation au CAPES Strasbourg, octobre 2008 Construction d un cercle tangent à deux cercles donnés. Le problème posé : On se donne deux cercles C et C de centres O et O distincts et de rayons R et R

Plus en détail

Chapitre 2 Le problème de l unicité des solutions

Chapitre 2 Le problème de l unicité des solutions Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)

Plus en détail

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation ) DÉRIVÉES I Nombre dérivé - Tangente Eercice 0 ( voir animation ) On considère la fonction f définie par f() = - 2 + 6 pour [-4 ; 4]. ) Tracer la représentation graphique (C) de f dans un repère d'unité

Plus en détail

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part Eercices Alternatifs Une fonction continue mais dérivable nulle part c 22 Frédéric Le Rou (copyleft LDL : Licence pour Documents Libres). Sources et figures: applications-continues-non-derivables/. Version

Plus en détail

SINE QUA NON. Découverte et Prise en main du logiciel Utilisation de bases

SINE QUA NON. Découverte et Prise en main du logiciel Utilisation de bases SINE QUA NON Découverte et Prise en main du logiciel Utilisation de bases Sine qua non est un logiciel «traceur de courbes planes» mais il possède aussi bien d autres fonctionnalités que nous verrons tout

Plus en détail

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-

Plus en détail

Utilisation des tableaux sémantiques dans les logiques de description

Utilisation des tableaux sémantiques dans les logiques de description Utilisation des tableaux sémantiques dans les logiques de description IFT6281 Web Sémantique Jacques Bergeron Département d informatique et de recherche opérationnelle Université de Montréal bergerja@iro.umontreal.ca

Plus en détail

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe des n n groupes quantiques compacts qui ont la théorie

Plus en détail

SUR CERTAINS SYSTEMES D EQUATIONS AVEC CONTRAINTES DANS UN GROUPE LIBRE (*)

SUR CERTAINS SYSTEMES D EQUATIONS AVEC CONTRAINTES DANS UN GROUPE LIBRE (*) PORTUGALIAE MATHEMATICA Vol. 56 Fasc. 4 1999 SUR CERTAINS SYSTEMES D EQUATIONS AVEC CONTRAINTES DANS UN GROUPE LIBRE (*) J. Almeida and M. Delgado Résumé: Le théorème principal trouvé par Ash pour sa preuve

Plus en détail

Programmation en Caml pour Débutants

Programmation en Caml pour Débutants Programmation en Caml pour Débutants Arthur Charguéraud 6 Ju 2005 Ceci est une version léaire imprimable du cours, mais il est fortement conseillé d utiliser la version teractive, sur laquelle la plupart

Plus en détail

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 5 (June 2013), PP.99-103 Solution A La Gestion Des Objets Java Pour Des

Plus en détail

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Planche n o 22. Fonctions de plusieurs variables. Corrigé Planche n o Fonctions de plusieurs variables Corrigé n o : f est définie sur R \ {, } Pour, f, = Quand tend vers, le couple, tend vers le couple, et f, tend vers Donc, si f a une limite réelle en, cette

Plus en détail

Développements limités, équivalents et calculs de limites

Développements limités, équivalents et calculs de limites Développements ités, équivalents et calculs de ites Eercice. Déterminer le développement ité en 0 à l ordre n des fonctions suivantes :. f() e (+) 3 n. g() sin() +ln(+) n 3 3. h() e sh() n 4. i() sin(

Plus en détail

chapitre 4 Nombres de Catalan

chapitre 4 Nombres de Catalan chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C

Plus en détail

Les deux points les plus proches

Les deux points les plus proches MPSI Option Informatique Année 2001, Deuxième TP Caml Vcent Simonet (http://cristal.ria.fr/~simonet/) Les eux pots les plus proches Lors e cette séance, nous allons nous téresser au problème suivant :

Plus en détail

ÉTUDE DE L EFFICACITÉ DE GÉOGRILLES POUR PRÉVENIR L EFFONDREMENT LOCAL D UNE CHAUSSÉE

ÉTUDE DE L EFFICACITÉ DE GÉOGRILLES POUR PRÉVENIR L EFFONDREMENT LOCAL D UNE CHAUSSÉE ÉTUDE DE L EFFICACITÉ DE GÉOGRILLES POUR PRÉVENIR L EFFONDREMENT LOCAL D UNE CHAUSSÉE ANALYSIS OF THE EFFICIENCY OF GEOGRIDS TO PREVENT A LOCAL COLLAPSE OF A ROAD Céline BOURDEAU et Daniel BILLAUX Itasca

Plus en détail

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie Rappels et compléments, première partie : Nombres complexes et applications à la géométrie 1 Définition des nombres complexes On définit sur les couples de réels une loi d addition comme suit : (x; y)

Plus en détail

FONCTION EXPONENTIELLE ( ) 2 = 0.

FONCTION EXPONENTIELLE ( ) 2 = 0. FONCTION EXPONENTIELLE I. Définition Théorème : Il eiste une unique fonction f dérivable sur R telle que f ' = f et f (0) =. Démonstration de l'unicité (eigible BAC) : L'eistence est admise - Démontrons

Plus en détail

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part Eercices Alternatifs Une fonction continue mais dérivable nulle part c 22 Frédéric Le Rou (copleft LDL : Licence pour Documents Libres). Sources et figures: applications-continues-non-derivables/. Version

Plus en détail

FIMA, 7 juillet 2005

FIMA, 7 juillet 2005 F. Corset 1 S. 2 1 LabSAD Université Pierre Mendes France 2 Département de Mathématiques Université de Franche-Comté FIMA, 7 juillet 2005 Plan de l exposé plus court chemin Origine du problème Modélisation

Plus en détail

Développer, factoriser pour résoudre

Développer, factoriser pour résoudre Développer, factoriser pour résoudre Avec le vocabulaire Associer à chaque epression un terme A B A différence produit A+ B A B inverse quotient A B A opposé somme Écrire la somme de et du carré de + Écrire

Plus en détail

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» ) SYNTHESE ( THEME ) FONCTIONS () : NOTIONS de FONCTIONS FONCTION LINEAIRE () : REPRESENTATIONS GRAPHIQUES * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Plus en détail

Calcul fonctionnel holomorphe dans les algèbres de Banach

Calcul fonctionnel holomorphe dans les algèbres de Banach Chapitre 7 Calcul fonctionnel holomorphe dans les algèbres de Banach L objet de ce chapitre est de définir un calcul fonctionnel holomorphe qui prolonge le calcul fonctionnel polynômial et qui respecte

Plus en détail

Compression Compression par dictionnaires

Compression Compression par dictionnaires Compression Compression par dictionnaires E. Jeandel Emmanuel.Jeandel at lif.univ-mrs.fr E. Jeandel, Lif CompressionCompression par dictionnaires 1/25 Compression par dictionnaire Principe : Avoir une

Plus en détail

TRS: Sélection des sous-graphes représentants par l intermédiaire des attributs topologiques et K-medoïdes

TRS: Sélection des sous-graphes représentants par l intermédiaire des attributs topologiques et K-medoïdes TRS: Sélection des sous-graphes représentants par l intermédiaire des attributs topologiques et K-medoïdes Mohamed Moussaoui,Wajdi Dhifli,Sami Zghal,Engelbert Mephu Nguifo FSJEG, Université de Jendouba,

Plus en détail

Introduction à la théorie des graphes. Solutions des exercices

Introduction à la théorie des graphes. Solutions des exercices CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti

Plus en détail

Le théorème de Thalès et sa réciproque

Le théorème de Thalès et sa réciproque Le théorème de Thalès et sa réciproque I) Agrandissement et Réduction d une figure 1) Définition : Lorsque toutes les longueurs d une figure F sont multipliées par un même nombre k on obtient une autre

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

0DWKpPDWLTXHVGHO DUJHQW. édité par Mr. G.Moumoulidis (OTE)

0DWKpPDWLTXHVGHO DUJHQW. édité par Mr. G.Moumoulidis (OTE) 3/$,78'RF) 0DWKpPDWTXHVGHO DUJHQW HW OHVpWXGHVWHFKQTXHVpFRQRPTXHV édité par Mr. G.Moumoulidis (OTE) 8,2,7(5$7,2$/('(67(/(&2008,&$7,26,7(5$7,2$/7(/(&2008,&$7,28,2 8,2,7(5$&,2$/'(7(/(&208,&$&,2(6 - - 0DWKpPDWTXHVGHO

Plus en détail

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R Yves Aragon, David Haziza & Anne Ruiz-Gazen GREMAQ, UMR CNRS 5604, Université des Sciences

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

Critères de qualité des projets

Critères de qualité des projets s de qualité des projets Pour pouvoir mener une réfleion systématique sur la qualité des projets, on a besoin de critères. Les critères présentés ici s'appliquent à des projets d'intervention en promotion

Plus en détail

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin. Exo7 Matrice d une application linéaire Corrections d Arnaud odin. Exercice Soit R muni de la base canonique = ( i, j). Soit f : R R la projection sur l axe des abscisses R i parallèlement à R( i + j).

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Modélisation et Simulation

Modélisation et Simulation Cours de modélisation et simulation p. 1/64 Modélisation et Simulation G. Bontempi Département d Informatique Boulevard de Triomphe - CP 212 http://www.ulb.ac.be/di Cours de modélisation et simulation

Plus en détail

Grammaires d unification

Grammaires d unification Cours sur le traitement automatique des langues (IV) Violaine Prince Université de Montpellier 2 LIRMM-CNRS Grammaires d unification Grammaire catégorielle Grammaire syntagmatique généralisée (GPSG) Les

Plus en détail

3. Conditionnement P (B)

3. Conditionnement P (B) Conditionnement 16 3. Conditionnement Dans cette section, nous allons rappeler un certain nombre de définitions et de propriétés liées au problème du conditionnement, c est à dire à la prise en compte

Plus en détail

10 leçon 2. Leçon n 2 : Contact entre deux solides. Frottement de glissement. Exemples. (PC ou 1 er CU)

10 leçon 2. Leçon n 2 : Contact entre deux solides. Frottement de glissement. Exemples. (PC ou 1 er CU) 0 leçon 2 Leçon n 2 : Contact entre deu solides Frottement de glissement Eemples (PC ou er CU) Introduction Contact entre deu solides Liaisons de contact 2 Contact ponctuel 2 Frottement de glissement 2

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

Comparaison de fonctions Développements limités. Chapitre 10

Comparaison de fonctions Développements limités. Chapitre 10 PCSI - 4/5 www.ericreynaud.fr Chapitre Points importants 3 Questions de cours 6 Eercices corrigés Plan du cours 4 Eercices types 7 Devoir maison 5 Eercices Chap Et s il ne fallait retenir que si points?

Plus en détail

Continuité d une fonction de plusieurs variables

Continuité d une fonction de plusieurs variables Chapitre 2 Continuité d une fonction de plusieurs variables Maintenant qu on a défini la notion de limite pour des suites dans R n, la notion de continuité s étend sans problème à des fonctions de plusieurs

Plus en détail

Correction de l examen de la première session

Correction de l examen de la première session de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi

Plus en détail

La médiatrice d un segment

La médiatrice d un segment EXTRT DE CURS DE THS DE 4E 1 La médiatrice d un segment, la bissectrice d un angle La médiatrice d un segment Définition : La médiatrice d un segment est l ae de smétrie de ce segment ; c'est-à-dire que

Plus en détail

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Nombres premiers. Comment reconnaître un nombre premier? Mais... Introduction Nombres premiers Nombres premiers Rutger Noot IRMA Université de Strasbourg et CNRS Le 19 janvier 2011 IREM Strasbourg Definition Un nombre premier est un entier naturel p > 1 ayant exactement

Plus en détail

Sur certaines séries entières particulières

Sur certaines séries entières particulières ACTA ARITHMETICA XCII. 2) Sur certaines séries entières particulières par Hubert Delange Orsay). Introduction. Dans un exposé à la Conférence Internationale de Théorie des Nombres organisée à Zakopane

Plus en détail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

Groupoïdes quantiques mesurés : axiomatique, étude, dualité, exemples

Groupoïdes quantiques mesurés : axiomatique, étude, dualité, exemples Groupoïdes quantiques mesurés : axiomatique, étude, dualité, exemples Franck LESIEUR Mathématiques et Applications, Physique Mathématique d Orléans UMR 6628 - BP 6759 45067 ORLEANS CEDEX 2 - FRANCE e-mail

Plus en détail

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ INTRODUCTION Données : n individus observés sur p variables quantitatives. L A.C.P. permet d eplorer les liaisons entre variables et

Plus en détail

MATHÉMATIQUES FINANCIÈRES I

MATHÉMATIQUES FINANCIÈRES I MATHÉMATIQUES FINANCIÈRES I Quinzième cours Détermination des valeurs actuelle et accumulée d une annuité de début de période pour laquelle la période de paiement est plus courte que la période de capitalisation

Plus en détail

Théorie de la Mesure et Intégration

Théorie de la Mesure et Intégration Université Pierre & Marie Curie (Paris 6) Licence de Mathématiques L3 UE LM364 Intégration 1 & UE LM365 Intégration 2 Année 2010 11 Théorie de la Mesure et Intégration Responsable des cours : Amaury LAMBERT

Plus en détail

Cours de Probabilités et de Statistique

Cours de Probabilités et de Statistique Cours de Probabilités et de Statistique Licence 1ère année 2007/2008 Nicolas Prioux Université Paris-Est Cours de Proba-Stat 2 L1.2 Science-Éco Chapitre Notions de théorie des ensembles 1 1.1 Ensembles

Plus en détail

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Chapitre 5 LE MODELE ENTITE - ASSOCIATION Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous

Plus en détail

Cours de mathématiques Première année. Exo7

Cours de mathématiques Première année. Exo7 Cours de mathématiques Première année Eo7 2 Eo7 Sommaire Logique et raisonnements 9 Logique 9 2 Raisonnements 4 2 Ensembles et applications 9 Ensembles 20 2 Applications 23 3 Injection, surjection, bijection

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Un dictionnaire électronique pour apprenant de l'arabe (langue seconde) basé sur corpus

Un dictionnaire électronique pour apprenant de l'arabe (langue seconde) basé sur corpus JEP-TALN 2004, Traitement Automatique de l Arabe, Fès, 20 avril 2004 Un dictionnaire électronique pour apprenant de l'arabe (langue seconde) basé sur corpus ZAAFRANI Riadh Faculté des Sciences Juridiques,

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Les Bases de Données et l Objet Introduction

Les Bases de Données et l Objet Introduction Les Bases de Données et l Objet Introduction Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr Plan Définitions d un Objet Propriétés

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

Modèles et Méthodes de Réservation

Modèles et Méthodes de Réservation Modèles et Méthodes de Réservation Petit Cours donné à l Université de Strasbourg en Mai 2003 par Klaus D Schmidt Lehrstuhl für Versicherungsmathematik Technische Universität Dresden D 01062 Dresden E

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

VISUALISATION DE NUAGES DE POINTS

VISUALISATION DE NUAGES DE POINTS ARNAUD BLETTERER MULTI-RÉSOLUTION 1/16 VISUALISATION DE NUAGES DE POINTS MULTI-RÉSOLUTION AU TRAVERS DE CARTES DE PROFONDEUR Arnaud Bletterer Université de Nice Sophia Antipolis Laboratoire I3S - Cintoo

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

données en connaissance et en actions?

données en connaissance et en actions? 1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)

Plus en détail

Une forme générale de la conjecture abc

Une forme générale de la conjecture abc Une forme générale de la conjecture abc Nicolas Billerey avec l aide de Manuel Pégourié-Gonnard 6 août 2009 Dans [Lan99a], M Langevin montre que la conjecture abc est équivalente à la conjecture suivante

Plus en détail

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1 Exemples de problèmes et d applications INF6953 Exemples de problèmes Sommaire Quelques domaines d application Quelques problèmes réels Allocation de fréquences dans les réseaux radio-mobiles Affectation

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à la Programmation en Logique avec SISCtus Prolog Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées

Plus en détail

Introduction à la théorie des files d'attente. Claude Chaudet Claude.Chaudet@enst.fr

Introduction à la théorie des files d'attente. Claude Chaudet Claude.Chaudet@enst.fr Introduction à la théorie des files d'attente Claude Chaudet Claude.Chaudet@enst.fr La théorie des files d'attente... Principe: modélisation mathématique de l accès à une ressource partagée Exemples réseaux

Plus en détail

Moments des variables aléatoires réelles

Moments des variables aléatoires réelles Chapter 6 Moments des variables aléatoires réelles Sommaire 6.1 Espérance des variables aléatoires réelles................................ 46 6.1.1 Définition et calcul........................................

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

Continuité en un point

Continuité en un point DOCUMENT 4 Continuité en un point En général, D f désigne l ensemble de définition de la fonction f et on supposera toujours que cet ensemble est inclus dans R. Toutes les fonctions considérées sont à

Plus en détail

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration Pluquet Frédéric July, 3rd 2012 Etude de techniques efficaces de versionnement d objets pour les langages orientés

Plus en détail

Cours de Programmation 2

Cours de Programmation 2 Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes

Plus en détail

Une méthode formelle pour la vérification de la consistance temporelle et la gestion prédictive de la Qualité de service pour la présentation des

Une méthode formelle pour la vérification de la consistance temporelle et la gestion prédictive de la Qualité de service pour la présentation des Une méthode formelle pour la vérification de la consistance temporelle et la gestion prédictive de la Qualité de service pour la présentation des documents SMIL A.Abdelli LSI-TR-1503 1 Une méthode formelle

Plus en détail

Chapitre 6. Fonction réelle d une variable réelle

Chapitre 6. Fonction réelle d une variable réelle Chapitre 6 Fonction réelle d une variable réelle 6. Généralités et plan d étude Une application de I dans R est une correspondance entre les éléments de I et ceu de R telle que tout élément de I admette

Plus en détail

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric

Plus en détail