• What is it?

    Dictō is a simple declarative language for specifying architectural rules which can be automatically verified using off-the-shelf tools.

  • Rule catalog

    Dictō can be used to specify a wide range of architectural rules.
    See all currently supported rules.

  • User Guide

    Dictō is based on a backend application that converts rules in runnable tests. Learn how it works.

  • Contact

    We are eager to know what you think! If you are willing to start a collaboration or you want to share your opinion, feel free to contact us.

  • // Dependencies
    Syntax = Package with name:"org.app.Syntax"
    Core = Package with name:"org.app.Core"
    Parser = Package with name:"org.app.Parser"

    Parser can only depend on Syntax
    Core, Syntax cannot depend on Parser

    Tested by Moose

  • // Performance
    Google = Website with url:"http://www.google.com"

    Google must handle load from "10 users"
    Google must have latency < "100 ms"

    Tested by JMeter

  • // Formal verification
    CriticalClass = Class with name:"com.app.MainClass"

    CriticalClass cannot lead to deadlock

    Tested by Java Pathfinder

  • // File content
    JavaFile = File with path:"src/com/app/Test.java"
    PomFile = File with path:"pom.xml"

    JavaFile cannot contain text "@PublicAPI"
    PomFile must contain text "<groupId>org.apache.maven</groupId>"

    Tested by unix-grep

  • See all supported rules:
    ~ Rule Catalog