Modele du temps
2.1 Unites d'observation du temps
2.1.1 Partition du temps
L'espace continu du temps etant vu comme une droite de reels, le temps est discretise par une partition de cette droite en une suite d'intervalles consecutifs disjoints (Cf. -gure 2.1). Chronons 0 1 2 3 4 5 6 7 8 9 10 u 0 1 2 3 0 réels
Fig. 2.1 { Une unite d'observation du temps denit une partition
Chaque intervalle est vu comme un grain non decomposable, et tout instant de la droite de reels est approxime par le grain qui le contient. Les grains sont numerotes par des entiers, l'ordre entre les entiers correspondant a la succession dans le temps et la distance entre deux entiers a la notion de duree. Nous choisissons ici de borner le temps par un instant origine et de numeroter les grains par des entiers naturels a partir de 0 (Cf. gure 2.1), de telle sorte que le numero d'un grain represente la distance le separant de l'origine.
Une alternative est de numeroter les grains par des entiers relatifs. Les grains de numeros positifs (respectivement negatifs) correspondent alors au futur (respectivement
au passe) par rapport a l'instant d'origine de numero 0. Il est de plus possible de borner le temps dans le futur. Ceci est utile pour le contr^ole d'integrite, dans le cas d'applications ou le domaine temporel est ni. Nous ne le faisons pas ici pour ne pas alourdir l'expose lors de la denition des fonctions sur les types temporels.
Une partition est denie par une fonction u de N dans 2
N, dont les proprietes sont donnees par la gure 2.2.
8 i2N,9 j2Ntel que i2u(j)
f Couverture du domaine temporel g
8 i1,i2,i3 2N tels que i1<i2<i3,fi1,i3gu(i) )i2 2u(i)
8 i,j 2N, i6=j ) u(i)\u(j)= ;
f Partition du domaine en intervalles disjoints g
02 u(0)
f Alignement des originesg
Fig. 2.2 { Proprietes des unites (d'apres [WJS95])
Chaque partition possible de la droite des reels denit ainsi une unite d'observation du temps, qui xe le degre d'approximation employe pour reperer les instants dans le temps, c'est-a-dire l'interpretation d'un intervalle de temps comme un instant ponctuel (Cf. gure 2.1). Les unites les plus courantes, et en particulier celles correspondant aux partitions usuelles des calendriers sont nommees: millenaire, siecle, annee, mois, jour, semaine, heure, seconde, etc. Comme dans le langage courant, le nom d'une unite sert aussi a designer les grains qu'elle denit.
Une unite d'observation est reguliere si les intervalles de la partition qui la denit ont tous la m^eme taille, comme les heures, les jours ou les semaines. Une unite d'observation estirreguliere si ses intervalles ont des tailles variables comme les mois ou les annees.
La precision la plus ne d'observation du temps admise par un SGBD est denie par une unite reguliere appeleechronon [JCE+94]. Les autres unites sont alors denies comme une partition de l'ensemble des chronons, c'est-a-dire de l'ensemble des entiers naturels plut^ot que des reels.
2.1.2 Relation d'ordre est plus ne sur les unites d'observations
Lorsque l'on peut faire correspondre de maniere biunivoque a tout grain d'une unite u1 un ensemble de grains consecutifs d'une unite u2, u2 est diteplus ne que u1 (u1 estplus grossiere que u2). Par exemple, l'unite mois est plus ne que l'unite annee (toute annee est composee de douze mois consecutifs) et inversement, l'unite mois est plus grossiere
que l'unite jour (tout mois est compose d'un ensemble de jours consecutifs, comportant de 28 a 31 jours selon le cas).
On parle d'unites comparables lorsqu'une unite realise une partition d'une autre unite, comme c'est le cas entre les mois et les jours, et d'unites non-comparables lorsque ce n'est pas le cas, par exemple entre les mois et les semaines (Cf. gure 2.3).
u2 x x+1 w w+2 u3 y y+3 u1 z z+10 Chronons u1 et u2 sont comparables :
u1 et u3 ne sont pas comparables : u1 est plus fine que u2
les partitions se chevauchent.
Chronons
u3 u1
u2
est plus fine
Fig. 2.3 {Unites comparables et non comparables selon la relation
La relation est plus ne, notee est une relation d'ordre partiel (Cf. gure 2.4): par exemple, les unites mois et semaine denissant des partitions qui se chevauchent, ces unites ne sont pas comparables selon cette relation.
Minute Seconde
chronon Heure Jour
Quinzaine Semaine7 Mois Bimestre Trimestre Semestre SemaineA
Année Siècle Millénaire
Semaine7 : de 7 jours, du lundi au dimanche
SemaineA : administratives (de 1 à 53 ou 54 dans l’année) Relation "Est plus fine"
Fig. 2.4 { La relation est plus ne entre unites d'observation
Deux unitesuetvont toujours une borne inferieureselon la relation, noteeUbinf(u,v). Le chronon est l'unite la plus ne de l'ensemble des unites.
2.1.3 Construction de la relation est plus ne
A chaque couple d'unites comparables sont associees des fonctions permettant de de-crire les conversions correspondantes. Le passage d'une unite a une unite plus ne aug-mentela precision de l'observation du temps: nous parlons de l'expansion d'une unite dans une autre. Inversement,dans le cas du passage d'une unite a une unite plus grossiere, nous parlons de l'approximation d'une unite (Cf. gure 2.5).
εu1,u2(x)= u1,u2(x) ∆ πu2,u1(x) x u1,u2(x) β x Y=α (x) u2,u1 u1 u2 a/ Expansion de x b/ Approximation de x
Fig. 2.5 { Expansion et approximation d'un grain
Les fonctions liees a l'expansion d'une unite dans une autre sont (u1 et u2 sont deux unites telles que u2 u1):
{ Expansion:"u1,u2denote la fonction d'expansion deu1dansu2:"u1,u2(x)est l'intervalle d'entiers forme des numeros de grains de u2 que contient le grain de u1de numero x. Par exemple, les douze numeros de mois que comporte une annee de numero donne.
"annee,mois(1)=[12 ::: 23], "heure,minute(3)=[180::: 239]
{ Dimensionnement: u1,u2denote la fonction dedimensionnement de l'expansion deu1
dans u2: u1,u2(x)est la dimension de l'intervalle"u1,u2(x). Par exemple, le nombre de jours d'une annee est 366 ou 365, le nombre d'heures dans un jour est 24.
annee,jour(x)=365ou366 selon lavaleur de x, jour,heure(x)=24,quel quesoitx
{ Bornage:u1,u2denote la fonction debornage de l'expansion deu1dansu2:u1,u2(x)est la borne inferieure de l'intervalle"u1,u2(x);u1,u2(x+1) , 1 en est la borne superieure.
"u1,u2(x)=[u1,u2(x)::: u1,u2(x+1) ,1] u1,u2(0) =0;
8x0, u1,u2(x+1) =u1,u2(x)+u1,u2(x)
Les fonctions liees a l'approximation d'une unite dans une autre sont (u1 et u2 sont deux unites telles que u2 u1):
{ Approximation:u2,u1 denote la fonction d'approximation deu2dans u1:u2,u1(x) est le numero du grain deu1 dont l'expansion dansu2contientx. Autrement dit,u2,u1(x)
est l'entier unique Ytel queu1,u2(Y) x <u1,u2(Y+1).
Y=u2,u1(x),x2"u1,u2(Y)
{ Positionnement:u2,u1 denote la fonction de positionnement relative dans u2 par rap-port au1:u2,u1(x)est la position relativeZdexdans l'expansion de son approximation
Y. En quelque sorte, elle represente l'information perdue du fait de la diminution de la precision.
u2,u1(x)=x,u1,u2(u2,u1(x))
2.1.4 Relation de regularite entre deux unites d'observations
Nous etendons la notion de regularite denie precedemment par rapport au chronon (Cf. section 2.1.1) pour caracteriser une propriete particuliere des couples d'unites com-parables selon la relation : u1 et u2 etant deux unites telles que u1 u2, nous disons que u1 est reguliere par rapport a u2 si tout grain de u1 comporte un nombre xe de grains de u2.
Nous specions un predicat pour cette relation:
EstReg?:deux unites ! unb o oleen
f EstReg?(u, v) , v u et u;v
est constante g
Une unite reguliere est ainsi un unite reguliere par rapport au chronon, le chronon etant, par denition, regulier. Par exemple, l'annee est reguliere par rapport au mois, bien que le mois ne soit pas regulier (par rapport au chronon); par contre, l'annee n'est pas reguliere par rapport au jour, bien que le jour soit une unite reguliere (Cf. gure 2.6).
Relation de régularité
SemaineA : administratives (de 1 à 53 ou 54 dans l’année) Semaine7 : de 7 jours, du lundi au dimanche
Mois Millénaire Bimestre Trimestre Semestre Année Siècle Quinzaine Semaine7 Minute Seconde
chronon Heure Jour SemaineA
Fig. 2.6 { La relation de regularite entre unites d'observation
Si u1 etu2sont deux unites regulieres entre elles, u1,u2(x) est constant quel que soit le grain x, on le nomme alors facteur de grossissement de u1 dans u2, note ,u1,u2. Par exemple:
annee,mois(x)=12=,annee,mois
jour,seconde(x)=86400= ,jour,seconde
La relation de regularite permet de simplier les fonctions de conversions de la section precedente (Cf. gure 2.7).
Si EstReg?(u1, u2)alors: u1,u2(x) = x , u1,u2 " u1,u2(x) = [x , u1,u2 ::: (x+1) , u1,u2 , 1] Par exemple: jour,seconde(x) = x 86400 u2,u1(x) = x quotient , u1,u2 u2,u1(x) = x reste , u1,u2
Fig. 2.7 { Simplication des fonctions de conversion pour les couples d'unites reguliers