danionita / e3tools

e3tool is a Java GUI-based tool for constructing and evaluating e3value models. Includes the e3fraud fraud assessment extension
Other
3 stars 4 forks source link

Transaction editor #90

Open danionita opened 7 years ago

danionita commented 7 years ago

When two or more transfers depart from the same port, it implies an OR (either transfer 1 or transfer 2). This creates two ambiguities:

To solve this, we need a manual transaction editor, just like in the old tool. This editor should allow the user to manually group transfers into transactions, and then assign FRACTION attributes to each defined transaction.

image

bobismijnnaam commented 7 years ago

Is the only extra thing needed the fraction attribute or should the user be able to set arbitrary formulas on a value transactoin? If so, I'd like to integrate the "fraction setting" part into the value transaction collection editor, instead of using the e3properties window.

bobismijnnaam commented 7 years ago

And is fraction a decimal or integer?

bobismijnnaam commented 7 years ago

image

Something like this

bobismijnnaam commented 7 years ago

Gave it some thought, and it's probably better if we just reuse the properties window.

bobismijnnaam commented 7 years ago

As of 96d73e9b18ad215fc02a914f9a7e6bcd84dc8f3f value transactions should work, without do/undo support.

Some points:

So, two questions:

danionita commented 7 years ago

Right now the second option is used everywhere (i.e. keep the user specified vt's, and generate vt's for orphaned ve's), but it's trivial to switch (I've implemented them all and the mode can be specified with an enum.)

Great.

Do we want proper do/undo behavior? I suspect this is hard but doable, but if I would implement this I'm not sure if there would be enough time to implement find as well.

Not necessary.

Is the default value transaction derivation mechanism the right one? It's trivial to change but I want to hear your thoughts as well @danionita

Out of the four options, it sounds to me like the one right one. However, I am curious how you currenlt handle the situation when, for instance, only some of the VTs which are part of a VI are grouped together and the others not? Do you add the missing ones to the group, or create a new group?

bobismijnnaam commented 7 years ago

The intended effect that works right now is that every ValueExchange that is assigned to a VT is ignored (since it is alreayd part of a VT). For all the VE's that are left, they are grouped by pairs of value interface, and these all become separate VT's. So if there's a pair of value interfaces with both having 3 value ports, and only two of the three value exchanges are assigned to a value transaction, another (new, separate) value transaction will be created for the third (orphaned) value exchange.

On 6 February 2017 at 15:16, danionita notifications@github.com wrote:

Right now the second option is used everywhere (i.e. keep the user specified vt's, and generate vt's for orphaned ve's), but it's trivial to switch (I've implemented them all and the mode can be specified with an enum.) Great.

Do we want proper do/undo behavior? I suspect this is hard but doable, but if I would implement this I'm not sure if there would be enough time to implement find as well. Not necessary.

Is the default value transaction derivation mechanism the right one? It's trivial to change but I want to hear your thoughts as well @danionita https://github.com/danionita Out of the four options, it sounds to me like the one right one. However, I am curious how you currenlt handle the situation when, for instance, only some of the VTs which are part of a VI are grouped together and the others not? Do you add the missing ones to the group, or create a new group?

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/danionita/e3tools/issues/90#issuecomment-277693834, or mute the thread https://github.com/notifications/unsubscribe-auth/AC8IaNLOPHyy_LZgx2xodbMIhA06cIyPks5rZytbgaJpZM4LeRpC .