Aller au contenu

Dependency Constraint Language

Un article de Wikipédia, l'encyclopédie libre.
Ceci est la version actuelle de cette page, en date du 5 avril 2018 à 17:58 et modifiée en dernier par Mi Ga (discuter | contributions). L'URL présente est un lien permanent vers cette version.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

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[1].

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[modifier | modifier le code]

Le langage DCL spécifie quatre primitives pour définir les contraintes :

  • only can (divergence)
only Factory can-create Product
  • can only (divergence)
Util can-only-depend $java, Util
  • cannot (divergence)
View cannot-access Model
  • must (absence)
Product must-implement Serializable

Il se complète par d’autres primitives pour des besoins spécifiques : access, declare, create, extend, implement, throw, annotate.

Références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • (en) Ricardo Terra, Marco Tulio Valente, Krzysztof Czarnecki et Roberto S. Bigonha, « Recommending Refactorings to Reverse Software Architecture Erosion », 16th European Conference on Software Maintenance and Reengineering,‎ , p. 335-340 (ISBN 978-0-7695-4666-7, DOI 10.1109/CSMR.2012.40)