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 ** EECS Department, Tulane Universit, New Orleans, LA 70118, USA 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.

Une extension pour RDF/RDFS utilisant des relations procédurales

Une extension pour RDF/RDFS utilisant des relations procédurales Une extension pour RDF/RDFS utilisant des relations procédurales Jean-François Baget * * INRIA Sophia-Antipolis & LIRMM(CNRS - UM2) LIRMM, 161 rue Ada, 34392 Montpellier Cedex 5 baget@lirmm.fr RÉSUMÉ.

Plus en détail

Ensembles et applications. Motivations. Exo7

Ensembles et applications. Motivations. Exo7 o7 nsembles et applications Vidéo partie 1. nsembles Vidéo partie 2. Applications Vidéo partie 3. Injection, surjection, bijection Vidéo partie 4. nsembles finis Vidéo partie 5. Relation d'équivalence

Plus en détail

Le jeu de Marienbad. 1 Écriture binaire d un entier

Le jeu de Marienbad. 1 Écriture binaire d un entier MPSI Option Informatique Année 2002, Quatrième TP Caml Vcent Simonet (http://cristal.ria.fr/~simonet/) Le jeu de Marienbad Dans le film d Ala Resnais «L année dernière à Marienbad» (1961), l un des personnages,

Plus en détail

Arbres binaires et codage de Huffman

Arbres binaires et codage de Huffman MP Option Informatique Premier TP Caml Jeudi 8 octobre 2009 Arbres baires et codage de Huffman 1 Arbres baires Soit E un ensemble non vide. On défit la notion d arbre baire étiqueté (aux feuilles) par

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Chapitre 2 Modélisation de bases de données

Chapitre 2 Modélisation de bases de données Pourquoi une modélisation préalable? Chapitre 2 Modélisation de bases de données 1. Première étape : le modèle conceptuel Eemple : le modèle Entités-Associations (E/A) 2. Deuième étape : le modèle Traduction

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages Automates Claude Moulin Université de Technologie de Compiègne Printemps 2013 Sommaire 1 Automate fini 2 Automate et langages réguliers 3 Automate à pile Automate fini déterministe

Plus en détail

Sélection de variables groupées avec les forêts aléatoires. Application à l analyse des données fonctionnelles multivariées.

Sélection de variables groupées avec les forêts aléatoires. Application à l analyse des données fonctionnelles multivariées. Sélection de variables groupées avec les forêts aléatoires. Application à l analyse des données fonctionnelles multivariées. Baptiste Gregorutti 12, Bertrand Michel 2 & Philippe Saint Pierre 2 1 Safety

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 4 Modélisation et Conception de BD

Chapitre 4 Modélisation et Conception de BD Pourquoi une modélisation préalable? Chapitre 4 Modélisation et Conception de BD Il est difficile de modéliser un domaine sous une forme directement utilisable par un SGBD. Stockage physique Cohérence/intégrité

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

Fondements de l informatique: Examen Durée: 3h

Fondements de l informatique: Examen Durée: 3h École polytechnique X2013 INF412 Fondements de l informatique Fondements de l informatique: Examen Durée: 3h Sujet proposé par Olivier Bournez Version 3 (corrigé) L énoncé comporte 4 parties (sections),

Plus en détail

Option Informatique Arbres binaires équilibrés

Option Informatique Arbres binaires équilibrés Option Informatique Arbres binaires équilibrés Sujet novembre 2 Partie II : Algorithmique et programmation en CaML Cette partie doit être traitée par les étudiants qui ont utilisé le langage CaML dans

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

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée.

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée. A 2015 INFO. MP École des Ponts ParisTech, SUPAERO (ISAE), ENSTA ParisTech, Télécom ParisTech, Mines ParisTech, Mines de Saint-étienne, Mines Nancy, Télécom Bretagne, ENSAE ParisTech (filière MP), École

Plus en détail

Interprétation abstraite

Interprétation abstraite Interprétation abstraite Patrick Cousot Département d informatique, École normale supérieure, 45 rue d Ulm, 75230 Paris cede 05 Patrick.Cousot@ens.fr, http://www.di.ens.fr/ cousot RÉSUMÉ. L interprétation

Plus en détail

TRIGONOMETRIE - EXERCICES CORRIGES

TRIGONOMETRIE - EXERCICES CORRIGES Cours et eercices de mathématiques TRIGONOMETRIE - EXERCICES CORRIGES Trigonométrie rectangle Eercice n. Compléter les égalités en respectant bien les notations de l énoncé cos ABC = sin ABC = tan ABC

Plus en détail

- Module M2 - Fondamentaux d analyse

- Module M2 - Fondamentaux d analyse - Module M - Fondamentau d analyse Cléo BARAS, cleo.baras@ujf-grenoble.fr IUT - Grenoble Département Réseau et Télécommunications DUT - ère année Année universitaire 9- Web : http ://iut-tice.ujf-grenoble.fr/gtr/mathm/inde.asp

Plus en détail

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

Corrigé des exercices

Corrigé des exercices hapitre 1 option informatique orrigé des eercices Arbres binaires Eercice 1 La première solution qui vient à l esprit est sans doute celle-ci : let rec profondeur p = function Nil > [] a when p = 0 > [a]

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

Introduction. Chapitre 1. 1.1 Introduction. 1.1.1 Bibliothèques. 1.1.2 Programmation de Haute Qualité

Introduction. Chapitre 1. 1.1 Introduction. 1.1.1 Bibliothèques. 1.1.2 Programmation de Haute Qualité Chapitre 1 Introduction Buts du chapitre : Motivation pour l étude des types abstraits de données ; Syntaxe de base pour l écriture de spécifications. 1.1 Introduction 1.1.1 Bibliothèques 1. L3, déjà une

Plus en détail

Programmation, partiel: sémantique d un tableur

Programmation, partiel: sémantique d un tableur Programmation, partiel: sémantique d un tableur Recommandations. Votre copie (papier ou électronique) devra être lisible et bien structurée. La note tiendra compte autant du fond que de la présentation.

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Définition d une suite récurrente à l aide de la fonction ln

Définition d une suite récurrente à l aide de la fonction ln Définition d une suite récurrente à l aide de la fonction ln Thèmes. fonction ln, théorème des valeurs intermédiares, suite définie par récurrence : majoration, minoration, monotonie, convergence, eistence.

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

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

Support du cours de Probabilités IUT d Orléans, Département d informatique

Support du cours de Probabilités IUT d Orléans, Département d informatique Support du cours de Probabilités IUT d Orléans, Département d informatique Pierre Andreoletti IUT d Orléans Laboratoire MAPMO (Bât. de Mathématiques UFR Sciences) - Bureau 126 email: pierre.andreoletti@univ-orleans.fr

Plus en détail

Régression linéaire simple

Régression linéaire simple Résumé Ce chapitre introduit la notion de modèle linéaire par la version la plus élémentaire : epliquer Y par une fonction affine de X. Après avoir epliciter les hypothèses nécessaires et les termes du

Plus en détail

Second degré : Résumé de cours et méthodes

Second degré : Résumé de cours et méthodes Second degré : Résumé de cours et méthodes 1 Définitions : DÉFINITIN n appelle trinôme du second degré toute fonction f définie sur R par f () = a + b + c (a,b et c réels avec a 0). Remarque : Par abus

Plus en détail

Démonstrations. Chapitre 4. 4.1 Introduction

Démonstrations. Chapitre 4. 4.1 Introduction Chapitre 4 Démonstrations L objectif de ce chapitre est de commencer à aborder la question fondamentale suivante : qu est-ce qu une démonstration? Pour cela, plus précisément, on va se focaliser dans ce

Plus en détail

ALGÈBRE DE BOOLE ET FONCTIONS BOOLÉENNES

ALGÈBRE DE BOOLE ET FONCTIONS BOOLÉENNES ALGÈBRE DE BOOLE ET FONCTIONS BOOLÉENNES 1 PROPRIÉTÉS L algèbre de Boole est définie sur l'ensemble E2 constitué des éléments {0,1}. Il eiste une relation d'ordre 0 < 1, et trois opérations de base. La

Plus en détail

Annexe B : Les vecteurs. Scalaires et vecteurs

Annexe B : Les vecteurs. Scalaires et vecteurs Annee B : Les vecteurs Certains étudiants éprouvent de la difficulté en première session à l'école lorsqu'ils suivent le cours ING-10 "Statique et dnamique". Les vecteurs sont utilisés abondamment dans

Plus en détail

Quelques problèmes NP-complets

Quelques problèmes NP-complets Chapitre 12 Quelques problèmes NP-complets Maintenant que nous connaissons la NP-complétude d au moins un problème (SAT), nous allons montrer qu un très grand nombre de problèmes sont NP-complets. Le livre

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN CHAPITRE 6 Arbres binaires Lycée Kléber MPSI, Option Info 2014/2015 1 Définitions 2 Parcours en largeur Parcours en profondeur Parcours préfixe, infixe, postfixe Reconstitution 3 Recherche Complexité Insertion

Plus en détail

Exercice 2. Exercice 3

Exercice 2. Exercice 3 Feuille d eercices n 10 Eercice 1 Une voiture parcours 150 km. Elle effectue une première partie du trajet à la vitesse moyenne de 80 km/h. On notera la longueur de cette partie, eprimée en km Suite à

Plus en détail

Calculs préliminaires.

Calculs préliminaires. MINES-PONTS 005. Filière MP. MATHÉMATIQES 1. Corrigé de JL. Lamard jean-louis.lamard@prepas.org) Calculs préliminaires. Notons que si f H alors f)e / est bien intégrable sur R car continue positive et

Plus en détail

Algèbre de BOOLE. Système binaire:

Algèbre de BOOLE. Système binaire: Algèbre de BOOLE 5V Sstème binaire: Un sstème binaire (signal, circuit, etc ) est un sstème qui ne peut eister que dans deu états autorisés. fermé : v 0 = 0v ouvert: v 0 = 5v R Notations: numérique : et

Plus en détail

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé MIE - E ANNÉE ALGORITHMIQUE GÉNÉRALE Vincent Mousseau EXAMEN FINAL Février 006 - heures Aucun document autorisé Exercice : On s intéresse à la gestion informatique des réservations sur l année d une salle

Plus en détail

DES DISTRIBUTIONS DE PROBABILITÉ SINGULIÈRES. Marc BARBUT 1

DES DISTRIBUTIONS DE PROBABILITÉ SINGULIÈRES. Marc BARBUT 1 Math. Sci. hum / Mathematics and Social Sciences (48 e année, n 9, 2(2), p. -8) DES DISTRIBUTIONS DE PROBABILITÉ SINGULIÈRES Marc BARBUT RÉSUMÉ Ce texte n a rien d original. Son objectif est seulement

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

Pia Murgat, Christophe Duquesne, Aurige. Marc Florisson, Michel Etienne, Patrick Gendre

Pia Murgat, Christophe Duquesne, Aurige. Marc Florisson, Michel Etienne, Patrick Gendre CHOUETTE Maintenance, accompagnement et recette de logiciels pour les échanges de données multimodales Agence française pour l'information multimodale et la billettique Le processus de validation de données

Plus en détail

Le raisonnement par récurrence

Le raisonnement par récurrence Le raisonnement par récurrence Nous notons N l ensemble des entiers naturels : N = {0,,, } Nous dirons naturel au lieu de entier naturel Le principe du raisonnement par récurrence Soit A une partie de

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

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

1998.02 Composition d un portefeuille optimal. Dinh Cung Dang

1998.02 Composition d un portefeuille optimal. Dinh Cung Dang 199802 Composition d un portefeuille optimal Dinh Cung Dang Docteur en gestion de l IAE de Paris Ingénieur Conseil Résumé : Dans ce travail, le risque est défini comme étant la probabilité de réaliser

Plus en détail

NOTES DE COURS (SUPPLÉMENTAIRES) POUR LE COURS MATHÉMATIQUES DISCRÈTES MAT1500. References

NOTES DE COURS (SUPPLÉMENTAIRES) POUR LE COURS MATHÉMATIQUES DISCRÈTES MAT1500. References NOTES DE COURS (SUPPLÉMENTAIRES) POUR LE COURS MATHÉMATIQUES DISCRÈTES MAT1500 ABRAHAM BROER References [R] Kenneth H. Rosen, Mathématiques discrètes, Édition révisée Chenelière McGraw-Hill, 2002. 1. But

Plus en détail

+ 1. Qu est ce que cela donne pour notre calcul de 1,01? On pose x = 1,01 donc f (x) 1 + 1 0,01

+ 1. Qu est ce que cela donne pour notre calcul de 1,01? On pose x = 1,01 donc f (x) 1 + 1 0,01 Eo7 Dérivée d une fonction Vidéo partie. Définition Vidéo partie. Calculs Vidéo partie 3. Etremum local, théorème de Rolle Vidéo partie 4. Théorème des accroissements finis Eercices Fonctions dérivables

Plus en détail

Analyse de la variance à deux facteurs

Analyse de la variance à deux facteurs 1 1 IRMA, Université Louis Pasteur Strasbourg, France Master 1 Psychologie du développement 06-10-2008 Contexte Nous nous proposons d analyser l influence du temps et de trois espèces ligneuses d arbre

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

Manlab. Logiciel de continuation interactif. R. Arquier B. Cochelin C. Vergez

Manlab. Logiciel de continuation interactif. R. Arquier B. Cochelin C. Vergez Manlab Logiciel de continuation interactif R. Arquier B. Cochelin C. Vergez Laboratoire de mécanique et d acoustique (UPR CNRS 7051) Ecole généraliste d ingénieurs de Marseille (EGIM) Technopôle de Château-Gombert

Plus en détail

Tension d alimentation : V CC. i C R C R B

Tension d alimentation : V CC. i C R C R B Chapitre 4 Polarisation du transistor bipolaire à jonction 4.1 Le problème de la polarisation 4.1.1 Introduction Dans le chapitre 3, nous avons analysé un premier exemple de circuit d amplification de

Plus en détail

: 3 si x 2 [0; ] 0 sinon

: 3 si x 2 [0; ] 0 sinon Oral HEC 2007 Question de cours : Dé nition d un estimateur ; dé nitions du biais et du risque quadratique d un estimateur. On considère n (n > 2) variables aléatoires réelles indépendantes X 1,..., X

Plus en détail

Fiche de TD-TP no. 4

Fiche de TD-TP no. 4 Master 1 Informatique Programmation Fonctionnelle, p. 1 Fiche de TD-TP no. 4 Exercice 1. Voici trois façons différentes de définir le type Image : type Image = [[ Int ]] data Image = Image [[ Int ]] newtype

Plus en détail

Devoir surveillé n 1 : correction

Devoir surveillé n 1 : correction E1A-E1B 013-01 Devoir surveillé n 1 : correction Samedi 8 septembre Durée : 3 heures. La calculatrice est interdite. On attachera une grande importance à la qualité de la rédaction. Les questions du début

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

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

UNIVERSITE D ORLEANS SL01MA11, Groupes 1 et 5 Département de Mathématiques 2009-2010. N. El Hage Hassan S EXPRIMER EN MATHÉMATIQUES

UNIVERSITE D ORLEANS SL01MA11, Groupes 1 et 5 Département de Mathématiques 2009-2010. N. El Hage Hassan S EXPRIMER EN MATHÉMATIQUES UNIVERSITE D ORLEANS SL01MA11, Groupes 1 et 5 Département de Mathématiques 2009-2010 N. El Hage Hassan S EXPRIMER EN MATHÉMATIQUES 1 Les énoncés La plupart des phrases que l on rencontre dans un livre

Plus en détail

Solutions du Concours Fryer 2003

Solutions du Concours Fryer 2003 Concours canadien de mathématiques Une activité du Centre en mathématiques et en Université de Waterloo, Waterloo, Ontario Solutions du Concours Fryer 2003 (9 e année) (Secondaire III au Québec) pour les

Plus en détail

Épreuve d informatique 2011

Épreuve d informatique 2011 A 2011 INFO. MP ÉCOLE NATIONALE DES PONTS ET CHAUSSÉES, ÉCOLES NATIONALES SUPÉRIEURES DE L AÉRONAUTIQUE ET DE L ESPACE, DE TECHNIQUES AVANCÉES, DES TÉLÉCOMMUNICATIONS, DES MINES DE PARIS, DES MINES DE

Plus en détail

CHAPITRE V. de U U dans Hom(F, F ) est de classe C. b dans Hom(F,F ) est de classe C, l application b b. de U U

CHAPITRE V. de U U dans Hom(F, F ) est de classe C. b dans Hom(F,F ) est de classe C, l application b b. de U U CHAPITRE V FIBRÉS VECTORIELS 1. Fibrés vectoriels 1. Cartes et atlas vectoriels Soit B une variété différentielle. Considérons un B -ensemble, c est à-dire un ensemble M muni d une application p : M B.

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

Bases mathématiques pour l économie et la gestion

Bases mathématiques pour l économie et la gestion Bases mathématiques pour l économie et la gestion Bases mathématiques Pour l économie et la gestion - Table des matières PREMIERE PARTIE : QUELQUES OUTILS Chapitre : Traitement de systèmes d'équations..

Plus en détail

MÉTHODES DE CLASSIFICATION

MÉTHODES DE CLASSIFICATION MÉTHODES DE CLASSIFICATION Pierre-Louis GONZALEZ MÉTHODES DE CLASSIFICATION Objet Opérer des regroupements en classes homogènes d un ensemble d individus. Données Les données se présentent en général sous

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

Logiciel Statistique : SPSS

Logiciel Statistique : SPSS Faculté des Sciences Économiques et de Gestion de Tunis Logiciel Statistique : SPSS Notes du cours pour les étudiants du Master Recherche en Marketing, Management & Finance Dr. Jalila ATTAFI 2011-2012

Plus en détail

Les graphes planaires

Les graphes planaires Les graphes planaires Complément au chapitre 2 «Les villas du Bellevue» Dans le chapitre «Les villas du Bellevue», Manori donne la définition suivante à Sébastien. Définition Un graphe est «planaire» si

Plus en détail

MAT-5107-2. onctions et équations exponentielles. logarithmiques

MAT-5107-2. onctions et équations exponentielles. logarithmiques F MAT-507-2_V3.indd MAT-507-2 onctions et équations eponentielles et logarithmiques 05/0/ 2:28 PM FONCTIONS ET ÉQUATIONS EXPONENTIELLES ET LOGARITHMIQUES Coordonnateur des mathématiques : Jean-Paul Groleau

Plus en détail

Indexation de sous-collections pour l amélioration de la haute précision

Indexation de sous-collections pour l amélioration de la haute précision Indexation de sous-collections pour l amélioration de la haute précision Joëlson Randriamparany *,** *IRIT, Institut de Recherche Informatique de Toulouse Université Paul Sabatier Toulouse III 118 Route

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

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

TS Physique D Aristote à aujourd hui Exercice résolu

TS Physique D Aristote à aujourd hui Exercice résolu P a g e 1 TS Physique Eercice résolu Enoncé -34 avant JC : Aristote déclare qu une masse d or, de plomb ou de tout autre corps pesant tombe d autant plus vite qu elle est plus grosse et, en particulier,

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance de cours/td Université Paris-Diderot Objectifs: Découverte du type String. Comprendre qu il y a des types différents. Maîtriser les expressions booléennes dans

Plus en détail

Olympiades Suisses de Mathématiques. Inéquations. Thomas Huber. Actualisé: 25 juin 2014. Table des matières

Olympiades Suisses de Mathématiques. Inéquations. Thomas Huber. Actualisé: 25 juin 2014. Table des matières Olympiades Suisses de Mathématiques Inéquations Thomas Huber Actualisé: 5 juin 04 Table des matières Transformations algébriques. Il n eiste pas de carrés négatifs Nous allons commencer ce script par la

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

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

Introduc)on à la logique Michel Rueher

Introduc)on à la logique Michel Rueher Introduc)on à la logique Michel Rueher SI3 Qu est ce que la logique? Etre Logique? Formaliser le raisonnement? Automatiser le raisonnement? Un art paradoxal? A quoi peut servir la logique? Formaliser le

Plus en détail

Vérification formelle d un modèle mémoire pour le langage C

Vérification formelle d un modèle mémoire pour le langage C Vérification formelle d un modèle mémoire pour le langage C Projet ANR ARA SSIA CompCert (http://compcert.inria.fr) Sandrine Blazy, Xavier Leroy CEDRIC-ENSIIE et INRIA Rocquencourt CEA-LIST, 18 mars 2008

Plus en détail

λ-calcul et typage Qu est-ce qu une fonction?

λ-calcul et typage Qu est-ce qu une fonction? λ-calcul et typage Nicolas Barnier, Pascal Brisset ENAC Avril 2009 Nicolas Barnier, Pascal Brisset (ENAC) λ-calcul et typage Avril 2009 1 / 1 Qu est-ce qu une fonction? Classiquement Pas de notation uniforme/standard

Plus en détail

Expressions rationnelles, automates, analyse lexicale

Expressions rationnelles, automates, analyse lexicale Chapitre 2 Expressions rationnelles, automates, analyse lexicale L analyse lexicale est la première phase d un compilateur ou d un interprète : elle consiste à identifier et à catégoriser les différents

Plus en détail

Autour du cardinal d un ensemble de matrices binaires

Autour du cardinal d un ensemble de matrices binaires Autour du cardinal d un ensemble de matrices binaires Adrien REISNER 1 Abstract. We here study a couple of algebraic and analytic properties of certain binary matrices in the spaces M n(r). In particular,

Plus en détail

Marquage coopératif de documents

Marquage coopératif de documents Marquage coopératif de documents Bérenger Arnaud, Mountaz Hascoët LIRMM (UMR 5506) 161 rue ADA 34392 Montpellier Cedex 5 {arnaud, mountaz}@lirmm.fr RÉSUMÉ. Depuis quelques années les systèmes de bookmarking

Plus en détail

Procédure diagnostique en arbre utilisant les tests lisses d adéquation

Procédure diagnostique en arbre utilisant les tests lisses d adéquation Procédure diagnostique en arbre utilisant les tests lisses d adéquation Walid A AKHRAS 1 & Gilles DUCHARME 1 aboratoire de probabilités et statistique cc 051, Université Montpellier, 34095 Montpellier

Plus en détail

Définition de syntaxes concrètes graphiques

Définition de syntaxes concrètes graphiques UTM M2 ICE INGÉNIERIE DIRIGÉE PAR LES MODÈLES BE 4 mai 2012 À l instar d une syntaxe concrète textuelle, une syntaxe concrète graphique fournit un moyen de pouvoir visualiser et/ou éditer plus agréablement

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

Fondamentaux pour les Mathématiques et l Informatique :

Fondamentaux pour les Mathématiques et l Informatique : Université Bordeaux 1 Licence de Sciences, Technologies, Santé Mathématiques, Informatique, Sciences de la Matière et Ingénierie M1MI1002 Fondamentaux pour les Mathématiques et l Informatique Fondamentaux

Plus en détail

Méthodes de projection

Méthodes de projection Chapitre 11 Méthodes de projection Contenu 11.1 Analyse en composantes principales........ 138 11.1.1 L Analyse en Composantes Principales........ 139 11.1.2 La (grande) famille des ACP............. 151

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

Compilation. Cours n 3: Architecture du compilateur Sélection d instructions: de PP à UPP. Sandrine Blazy (d après le cours de François Pottier)

Compilation. Cours n 3: Architecture du compilateur Sélection d instructions: de PP à UPP. Sandrine Blazy (d après le cours de François Pottier) Compilation Cours n 3: Architecture du compilateur Sélection d instructions: de PP à UPP Sandrine Blazy (d après le cours de François Pottier) - 2 e année 10 novembre 2008 S.Blazy (ENSIIE) Compilation

Plus en détail

Les références et la mémoire

Les références et la mémoire Chapitre 3 Les références et la mémoire 3.1 Introduction En Java, pour déclarer une variable, il faut donner son nom, précédé du type qu on souhaite lui attribuer. Ces types peuvent être des types primitifs

Plus en détail

11. Tests d hypothèses (partie 1/2)

11. Tests d hypothèses (partie 1/2) 11. Tests d hypothèses (partie 1/2) MTH2302D S. Le Digabel, École Polytechnique de Montréal H2015 (v1) MTH2302D: tests d hypothèses 1/30 Plan 1. Introduction 2. Hypothèses et erreurs 3. Tests d hypothèses

Plus en détail

Finance des matières premières (6b) De la formation des prix sur les marchés financiers à la possibilité d un équilibre (non walrasien)

Finance des matières premières (6b) De la formation des prix sur les marchés financiers à la possibilité d un équilibre (non walrasien) Finance des matières premières (6b) De la formation des prix sur les marchés financiers à la possibilité d un équilibre (non walrasien) Alain Bretto & Joël Priolon - 25 mars 2013 Question Dans un équilibre

Plus en détail

Clustering par quantification en présence de censure

Clustering par quantification en présence de censure Clustering par quantification en présence de censure Svetlana Gribkova 1 Laboratoire de Statistique Théorique et Appliquée, Université Pierre et Marie Curie Paris 6, 4 place Jussieu, 75005 Paris Résumé.

Plus en détail

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire.

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire. Principes des lang. de progr. INE 11 Michel Mauny ENSTA ParisTech Prénom.Nom@ensta.fr Michel Mauny (ENSTA ParisTech) INE 11 Prénom.Nom@ensta.fr 1 / 37 Gestion et récupération automatique de mémoire lanage

Plus en détail

Algorithmique & Programmation (INF431) Contrôle classant CC2. 25 juin 2014

Algorithmique & Programmation (INF431) Contrôle classant CC2. 25 juin 2014 Algorithmique & Programmation (INF431) Contrôle classant CC2 25 juin 2014 Les parties I, II et III sont indépendantes les unes des autres. Elles peuvent être traitées dans l ordre de votre choix. Elles

Plus en détail

La maison Ecole d ' Baccalauréat blanc Classe de terminale ES. Exercice 1 - sur 4 points

La maison Ecole d ' Baccalauréat blanc Classe de terminale ES. Exercice 1 - sur 4 points La maison Ecole d ' Baccalauréat blanc Classe de terminale ES Année scolaire 00-004 Copyright c 004 J.- M. Boucart GNU Free Documentation Licence On veillera à détailler et à rédiger clairement les raisonnements,

Plus en détail

Éléments spectraux d une fonction cyclostationnaire

Éléments spectraux d une fonction cyclostationnaire Éléments spectraux d une fonction cyclostationnaire Alain BOUDOU 1 & Sylvie VIGUIR-PLA 1 & 2 1 quipe de Stat. et Proba., Institut de Mathématiques, UMR5219 Université Paul Sabatier, 118 Route de Narbonne,

Plus en détail

Un modèle markovien de transition agraire

Un modèle markovien de transition agraire Un modèle markovien de transition agraire Fabien Campillo 1 Angelo Raherinirina 1 Rivo Rakotozafy 2 1 Projet MERE INRIA/INRA Montpellier France Fabien.Campillo@inria.fr 2 Université de Fianarantsoa Madagascar

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