$. Abiteboul, R. Hulletv, . H. Vianuake01-]-d, and . Akehurstetb, ADEME, ! , Document d'information ADEME, accessible depuis <http://www.ademe.fr/partenaires, ABR96] J.0R.Abrial,2'XG+#GGCambridgeUniversityPress910103. [BAU95] C.BauzerMedeirosetM.Cilia,# 2'' B$GACMGIS'95GGpp.1270133. [BED99] Y. Bédard, 0 # $ 2W +0 #GG Geomatica, pp.715-813, 1996.

B. [. Cohn, J. Bennett, . [. Goodayetn, J. Cook, $. H. Daniels et al., Fort Collins MDAwithUMLandRule0BasedObjectManipulation, Proceedings of the Conference on the Unified Modelling Language (UML'99)Demuth,H.Hussmann,S.LoecheretS.Zschaler, ' X.2 nd InternationalFujabaDaysThèseInterna0 tionalJournalofGeographicalInformationScienceERW02] M.ErwigetM.Schneider,2+,IEEETransactionsonKnowledge andDataEngineeringThèseFRI01] A. Friis0Christensen, N. Tryfona et C. S. JensenProceedingsofthe9 th InternationalACMSymposiumonAd0 vancesinGeographicInformationSystems(ACMGIS2001), pp.27303765980-613104011728, 1992.

L. Mandel, M. V. Cengarle, . A. Afadl-']-k, M. J. Nedas, . Egenhoferetd et al., Uni0 versitédeMontpellierII,11décembre2006,344p, Proceedings of the World Congress on Formal Methodsinthe Developmentof Computing Systems $)#'#:$H2,Cartographyand GeographicInformationSystemsoctobre1994ThèseCOSIT'97,18p. [OMG06] OMG, $H 0 ;&K, OMG Specification. [ORA05] OracleCorp.,GGG/( GG(8K&;,OracleDocumen0 tation,juin2005Thèse,UniversitédeLiège, pp.85408746-06210, 1994.

. A_k->coveredby, or (A->exists(A_i|B->forAll(B_j|A_i->coveredBy(B_j))) and A->exists(A_k|B->forAll(B_l|A_k->disjoint(B_l)))) or (A->exists(A_i|B->exists(B_j|A_i->inside(B_j))) and A->exists(A_k|B->forAll(B_l|A_k->disjoint(B_l))) and A->exists(A_t|B->exists(B_v|A_t->equal(B_v))))) and A->forAll

. A_r->disjoint, B_s) or A_r->meet(B_s) or A_r->equal(B_s) or A_r->inside(B_s)))

U. Composant-de-a-recouvre-un-composant-de-b-et-un-composant-de-b-est-disjointdetouslescomposantsdea, (?i?1..n, ?j?1..m | ?A i ,covers,B j ?) ? (?l?1, ?

U. Uncomposantdeacontientuncomposantdeb and . Uncomposantdebetuncomposantdebestdisjointdetouslescomposantsdea, (?i?1..n, ?j?1..m | ?A i ,contains,B j ?) ? (?l?1..m, ?k?1..n | ?A k ,disjoint,B l ?) ? (?v?1, ?

. A_k->coveredby, or (A->exists(A_i|B->forAll(B_j|A_i->coveredBy(B_j))) and A->exists(A_k|B->forAll(B_l|A_k->disjoint(B_l)))) or (A->exists(A_i|B->exists(B_j|A_i->inside(B_j))) and A->exists(A_k|B->forAll(B_l|A_k->disjoint(B_l))) and A->exists(A_t|B->exists(B_v|A_t->equal(B_v))))) and A->forAll

. A_r->disjoint, B_s) or A_r->meet(B_s) or A_r->equal(B_s) or A_r->inside(B_s)))

. A_i->coveredby, B_j))) and A->exists(A_r| B->exists(B_s| A_r->cover(B_s)))) or (A->exists(A_i| B->exists(B_j| A_i->contain(B_j) or

. A_i->cover, A->exists(A_r| B->exists(B_s| A_r->coveredBy(B_s)))) or (A->exists(A_i| B->exists(B_j| A_i->inside(B_j))) and A->exists(A_k| B->exists(B_l| B_l->inside(A_k))) and A->exists