Issue96

Title merge-and-shrink options: "max_states", "bound_is_for_product" => "max_states", "max_states_before_merge"
Priority wish Status resolved
Superseder Nosy List gabi, malte
Assigned To malte Keywords 1.0
Optional summary

Created on 2010-07-30.23:14:36 by malte, last changed by malte.

Messages
msg383 (view) Author: malte Date: 2010-08-02.03:18:34
Forgot to mention the revision: fixed in r4541.
msg382 (view) Author: malte Date: 2010-08-02.03:07:26
Change to the merge-and-shrink option set has been implemented.
=> Closing this issue.
msg374 (view) Author: malte Date: 2010-08-01.12:17:25
I didn't know exactly how the options work; "keyword-only" arguments for the
additional options is a good thing, I think. I would still suggest ordering by
importance/grouping by relatedness in the documentation rather than the current
alphabetic ordering. Done now except for the selmax heuristic.
msg373 (view) Author: gabi Date: 2010-08-01.10:15:03
I renamed the options as suggested (r4519).

Regarding the reordering of options: Since the ordering of the options
in the code does not make any difference, I do not really know what is
meant. In the wiki documentation the options are currently specified in
alphabetic order. Should we rank them by importance instead? Or does the
switch to the python-style documentation of the options imply that it
should be possible to specify the options without their name, only using
the position (this is something we would have to implement)?

The values 5 for the merge and shrink strategies were only a stupid
copy&paste error when writing the doc. The code was ok, so I removed
these options from the wiki.

I assign the change of the meaning of the "max_states" and
"bound_is_for_product" options back to Malte because he is more familiar
with that code.
msg365 (view) Author: malte Date: 2010-07-30.23:14:36
Some suggested renamings for the merge-and-shrink options:

 * abstraction_max_size => max_states
 * abstraction_nr => count
 * collapsing => shrink_strategy
 * composition => merge_strategy

Suggested reordering of options:
 1. max_states
 2. bound_is_for_product
 3. count
 4. merge_strategy
 5. shrink_strategy

Additional changes:
 * The values 5 for both options are invalid; the respective enum values are
   meant as markers for the "last plus one" value so that the cmd-line options
   can be tested against this with "<". So these should not be accepted in the
   code (if they currently are), and the corresponding TODO: invalid entries
   should be removed from the documentation page.

In a later step, I suggest to change the meaning of the "max_states" and
"bound_is_for_product" options. The latter should be replaced with an integer
"max_states_before_merge" option and the meaning of the options should be
changed so that neither of these has a default value, either of them is
optional, but at least one of the two has been specified.

The call
  mas(max_states=1000)
would then be equivalent to the old
  mas(max_states=1000, bound_is_for_product=false)

The call
  mas(max_states_before_merge=100)
would then be equivalent to the old
  mas(max_states=100, bound_is_for_product=true)

And the call
  mas(max_states=1000, max_states_before_merge=100)
would express something which could not be expressed with the old option set.
History
Date User Action Args
2010-08-02 03:18:40maltesetstatus: chatting -> resolved
2010-08-02 03:18:34maltesetstatus: resolved -> chatting
messages: + msg383
2010-08-02 03:07:26maltesetstatus: chatting -> resolved
messages: + msg382
2010-08-01 12:17:25maltesetmessages: + msg374
title: request for some changes to the merge-and-shrink call syntax -> merge-and-shrink options: "max_states", "bound_is_for_product" => "max_states", "max_states_before_merge"
2010-08-01 10:15:03gabisetmessages: + msg373
2010-08-01 10:14:44gabisetassignedto: gabi -> malte
2010-07-30 23:14:36maltecreate