MANUAL | D C L | DOWNLOAD focus |
allows architects to define acceptable and unacceptable dependencies in Java systems |
DCL (Dependency Constraint Language) is a declarative, statically checked, and domain-specific language that supports the definition of structural constraints between modules. The main purpose of the language is to support the definition of constraints between modules, restricting the spectrum of dependencies that are allowed in object-oriented systems.
One of the main advantages of DCL is its simple and self-explaining syntax. The following figure summarizes the language syntax:
To illustrate DCL, consider the following constraints:
1: only Factory can-create Product
2: Util can-depend-only $java, Util
3: View cannot-access Model
4: Product must-implement Serializable
The following video illustrates the use of DCL:
The manual of DCL can be found here.
DCL is an open source project, distributed under the terms of the MIT
license.
The code is publicly avaliable at: github.com/rterrabh/DCL
DCL is currently developed and maintained by the Applied Software
Engineering Research Group (ASERG)
Department of Computer Science, Federal University of Minas Gerais, Brazil