title: Dependency Constraint Language
text: # Dependency Constraint Language
  
  En informatique, le Dependency Constraint Language (DCL) est un langage qui permet de localiser dans le code source d'un logiciel des décisions d'implémentation qui représentent des violations à l'architecture décrite au départ.
  
  Il permet de contrôler deux types de violations :
  
  * les divergences (quand une dépendance existante dans le code n'est pas prévue dans l'architecture de départ) ;
  * les absences (quand une dépendance existante dans l'architecture de départ n'existe pas dans le code source).
  
  ## Utilisation
  
  Le langage DCL spécifie quatre primitives pour définir les contraintes :
  
  * only can (divergence)
  * can only (divergence)
  * cannot (divergence)
  * must (absence)
  
  Il se complète par d’autres primitives pour des besoins spécifiques : access, declare, create, extend, implement, throw, annotate.
  
  