Alloy Community

User login

How does the Analyzer slice Alloy models

 
Posted on: Sun, 07/06/2008 - 19:20
Joined: 2008-01-25
Points: 1874
User is offline
How does the Analyzer slice Alloy models
From: ikarus1983de

I'm looking for some information (e.g. technical report)
on how an Alloy model is reduced / sliced before
the analysis.

I know about the work on the Kato-Tool by Ilya Shlyakhter et. al.
But up to my knowledge this isn't integrated into Alloy (or Kodkod)
yet. Furthermore, I'd like to know if Alloy does stuff
like "signature x is not used for check y, thus remove x for
the analysis of y".

Any help or hint is appreciated.

Best regards,
Christian
 
Posted on: Sun, 07/06/2008 - 19:27    #1
Joined: 2008-05-15
Points: 334
User is offline
From: Felix Chang

There is currently no technical report on Alloy4's translation yet,
but I will write it soon as part of my thesis.

To answer your question, since Alloy translates the user
problem into a single CNF problem, that means "each predicate call"
adds to the final CNF, and unused predicates are completely omitted.

Several optimizations include: 1) calls to the same predicates
with the same actual arguments are merged, so that if you call
the same predicate from multiple places in your model with the same arguments,
then the cost is borne only once.  2) Even between two calls with different
arguments, identical subformulas and subexpressions are merged ("shared")
to further reduce the cost.

Sincerely,
Felix Chang
Alloy4 Developer
 
Posted on: Wed, 09/02/2009 - 05:07    #2
Joined: 2009-06-03
Points: 16
User is offline
Dear Felix Chang,

I am an academic and I am working on evaluating some SAT algorithms on Alloy instances. I am also interested in reading a such technical paper.
Would you please let me know when yours would be available?

Sincerely,
Adriana Alexandru

Syndicate content  

The development of this site is supported by the National Science Foundation under Computing Research Infrastructure Grant No. 0707612.

Theme originally designed by Chris Herberte