Dependency Constraint Language
langage de programmation
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
modifierLe 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
modifierVoir aussi
modifierBibliographie
modifier- (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)