ArchiCheck
Contents: - Overview - Get it! - Run it! - Helpful hints - Further reading
Overview
Simple structural aspect of the software architecture, metaphore like My software is a layered system, can not be fully translated at programming languages level. Even in languages like Ada, powerfull regarding description of the software structure, there is a semantic loss.
Sooner or later, in large or complex developpement, someone will propose a patch adding an ìmport
that compile fine, but is a complete violation of the architecture.
Archicheck is a simple free software tool that :
- ease simple architecture description.
It's really as simple as: Gtk is a layer over Gdk.
- enforce code compliance with that description.
Put archicheck in your test suite, and let it be a vigilant teacher of your architecture over time.
Get it!
Run it!
Archicheck needs :
- a bunch of sources : give the directories with one or more
-I
options; - an architecture description, called a
rules file
: a simple text file describing your architecture.
Let's consider the following file My_Architecture.ac
, that describes a simple layered architecture :
Presentation_Layer contains pkg_1, pkg_2
Application_Layer contains pkg_3, pkg_4
Presentation_Layer is a layer over Application_Layer
Run ArchiCheck that way:
archicheck -I src My_Architecture.txt
It will check that the code comply with your architecture.
For example, here, it will check that pkg_3 or pkg_4 (in the lower layer) are not using pkg_1 or pkg_2 (in the upper layer).
Helpful hints
archicheck --create_template
will create atemplate.ac
file, embedding explanations on rules file syntax. Rename it and edit it!archicheck -h
for a complete list of options