• Aucun résultat trouvé

la contrainte du nombre de rectangles : elle vérifie en cours de placement que le nombre minimal de rectangles dans l'espace libre restant à remplir soit inférieur ou égal

La conception architecturale comme Logique de traitement de données

Partie 02. Analyse d’un modèle de connaissances architecturales en chevauchement avec le model informatique chevauchement avec le model informatique

4- la contrainte du nombre de rectangles : elle vérifie en cours de placement que le nombre minimal de rectangles dans l'espace libre restant à remplir soit inférieur ou égal

au nombre d'espaces restant à placer.

Outre les nouvelles contraintes que Charman a proposées, il a adapté la formulation d'un CSP « Constraint Satisfaction Problem » à un problème de satisfaction de contraintes spatiales sur des espaces à placer et à dimensionner, en définissant la notion de SCSP « Spatial Constraint Satisfaction Problem » . La résolution d'un SCSP consiste à trouver les emplacements, les orientations et les dimensions des espaces pour satisfaire toutes les contraintes. Le Tableau -1. Illustre l'analogie entre le formalisme d'un CSP et d'un SCSP.

Tableau -1 : Equivalence entre le formalisme d'un CSP et d'un SCSP Selon (Charman, 1995)

Chapitre 2 : La conception architecturale comme logique de Traitement de données (processing)

73 Charman a défini une nouvelle cohérence, appelé « cohérence semi géométrique », qui est efficace pour la réduction, a priori, des configurations (domaine des variables géométriques des espaces) des espaces à placer c'est-à-dire qu'elle raisonne en terme de réduction de domaine du couple (x1, y1) plutôt qu'en terme de réduction des domaines de x1 et y1 séparément. Pour mieux comprendre les mécanismes de cette nouvelle cohérence, Benachir a illustré un exemple proposé par Charman : si deux espaces o1 et o2 sont à placer, et si o1 est choisi en premier pour être placé, en

instanciant les variables x1, y1, dx1(longueur) et W(largeur) de o1, des réduction de domaines de la configuration de o2 seront automatiquement effectuées (voir Figure -21).

Figure -21 : Exemple de réduction de domaine (Charman, 1995) avec la cohérence semi-géométrique. On remarque les petits interstices laissés en blanc ; ils correspondent

à des solutions adjacentes

Aggoun et Beldiceanu (Aggoun et Beldiceanu, 1992) ont introduit la notion de contrainte cumulative dans le langage de programmation logique avec contraintes6 CHIP (Constraint Handling in Prolog). Cette contrainte a été développée pour des problèmes de planification et d'ordonnancement mais peut être utilisée très efficacement pour des problèmes de placement en architecture. Elle permet une réduction très efficace des domaines du problème. D'un point de vue géométrique, la contrainte cumulative exprime le fait que pour toute droite D verticale ou horizontale coupant l'espace de placement, la somme des dimensions des rectangles que coupe la droite est égale ou inférieure à la dimension de l'espace de placement (égale dans le cas de

6Dans la littérature on trouve CLP : Constraint Logic Programming dont un autre exemple est Prolog III et depuis peu Prolog IV.

Chapitre 2 : La conception architecturale comme logique de Traitement de données (processing)

74 recouvrement total des espaces). La contrainte cumulative procède de la manière suivante : soit N la longueur et la largeur de l'espace de placement, n le nombre des espaces à placer, xi(i=1....n) l'abscisse du point de référence de l'espace i, et yi(i=1....n) l'ordonnée du point de référence de l'espace i, li (i= 1....n) est la longueur de l'espace i, wi(i=1....n) est la largeur de l'espace i (voir Figure -22).

Figure -22 : Représentation géométrique d'un espace selon Aggoun et Beldiceanu

Les contraintes cumulatives qui, dans le cas du placement, s'appliquent dans les deux directions x et y, sont satisfaites si et seulement si :

Dans les travaux déjà cités, ceux de Charman, d'Aggoun et Beldiceanu sont les plus pertinents, ils proposent des contraintes très efficaces pour la réduction de l'espace de recherche. La contrainte de cohérence semi-géométrique de Charman est équivalente à la contrainte cumulative d'Aggoun plus une contrainte de non-recouvrement également disponible dans CHIP.

Sur le plan des classifications des contraintes, Charman a présenté quatre types de contraintes. Les contraintes spécifiques dépendent essentiellement du domaine d'application, ce sont des contraintes fonctionnelles. Les contraintes implicites sont prises en compte par défaut par le système. Les contraintes de détection des incohérences, de symétrie et celles sur les rectangles permettent de réduire considérablement la combinatoire en éliminant d'emblée les valeurs incohérentes des domaines des variables qui définissent le problème.

Programmer une contrainte comme la contrainte de cohérence semi géométrique de Charman ou la contrainte cumulative de Aggoun est typiquement un travail de recherche en informatique.

Chapitre 2 : La conception architecturale comme logique de Traitement de données (processing)

75 3- Problèmes de Satisfaction de contraintes (CSP)

Dans cette partie, nous allons faire un rappel des principales notions de techniques de propagation de contraintes, à partir de résultats d’études bibliographiques de (Davis, 1985 ; Hanser, 1990 ; Jegou, 1991 ; Montanari, 1974 et 1989).

3.1. Définition

Un problème de satisfaction de contraintes (CSP : Constraints Satisfaction Problems) est défini par la donnée d’un ensemble de variables, chacune associée à un domaine fini de valeurs, et d’un ensemble de contraintes qui mettent en relation les variables et définissent l’ensemble des combinaisons de valeurs qui satisfont les contraintes. Une solution est une instanciation des variables qui satisfait toutes les contraintes.

Figure -23 : graphes de contraintes Source : Idem

Montanari (Montanari, 1975) a été le premier à définir un CSP comme : z = (X,D,C,R) : – Un ensemble de n variables X = {x1 .... xn}

– Un ensemble de n domaines finis D = {d1 .... dn} où di est le domaine associé à la variable xi.

– Un ensemble de contraintes C = { c1 .... cm} où une contrainte ci est définie par un ensemble de variables {xi1 .... xini}.

Un ensemble de relations R = {r1 .... rm} où ri est l’ensemble des combinaisons des valeurs qui satisfont la contrainte ci.

Chapitre 2 : La conception architecturale comme logique de Traitement de données (processing)

76

C o n c l u s i o n

Dans ce chapitre nous avons exposé les différentes méthodes de conception et d’architecture logicielle, les différents points de vue qui concernent le raisonnement. Il est à noter que la conception architecturale doit implémenter le raisonnement logique des sciences exactes et des techniques.

Si l’architecture emprunte des connaissances et données des différents domaines de la science, elle se trouve par contre obligée d’emprunter la méthode de conjugaison de ces connaissances afin d’arriver à une homogénéité et une structuration facile à comprendre par les concepteurs.

Les structures de données et du processus exposées dans ce chapitre vont être implémentées ultérieurement par la méthode de conception architecturale globale, mais bien sur après que celles-ci serraient synchroniser avec le processus architectural.

Autrement dit c’est la concordance entre les procédures qu’elle permet de tirer la logique optimale pour la procédure architecturale globale, soit : en cascade ou en hélice, linéaire ou en étoile…..

L’aboutissement a une méthode homogène soit permis après la catégorisation et la classification des variables, fonctions, phases et agents qui agissent dans un processus de conception.