Longstanding issues: structs & standalone Erlang

Vlad Dumitrescu XX (LN/EAB) vlad.xx.dumitrescu@REDACTED
Thu Feb 23 09:14:31 CET 2006


Hi, 

> -----Original Message-----
> From: owner-erlang-questions@REDACTED 
> [mailto:owner-erlang-questions@REDACTED] On Behalf Of Bengt Kleberg
> 
> On 2006-02-22 08:28, Kostis Sagonas wrote:
> ...deleted
> > "overall plans and/or guidelines" are not enough, I am afraid.
> > These guidelines should be backed up by software tools that enforce 
> > the layered software development property.
> > Such tools are currently lacking.
> 
> i think it is possible to use xref to check a set of modules 
> for consistency.
> if the plans and guidelines stipulated building each 
> ''increment'' with only the layer below, and then mandated 
> running xref on the result (insisting upon not allowing 
> warnings/errors from xref :-) it might work.
> i use xref to check my block at work for internal 
> consistency. it works better than dialyzer (for this purpose only).

I found an interesting tool for Java, called Macker
(http://innig.net/macker/), that I think would be nice to translate to
any language. The idea is to define the architecture in a file and let
the tool check if the code is structured accordingly or not, spitting
out errors and warnings. 

A simple and useless example,
  <?xml version="1.0" ?> 
  <macker>
    <ruleset name="Simple example">
      <access-rule>
        <deny>
          <from class="**Print*" /> 
          <to class="java.**" /> 
        </deny>
      </access-rule>
    </ruleset>
  </macker>
would give errors if any class having "Print" in its name tries to
access any class in the "java" package.

It wouldn't be all too difficult to build something similar with xref at
the bottom. This could be nice to have together with the tool that
Thomas Lindgren called for earlier, which analyzes the system and
detects the layers by itself.

Regards,
Vlad



More information about the erlang-questions mailing list