Kappa-Dev / KappaTools

Tool suite for kappa models. Documentation and binaries can be found in the release section. Try it online at
http://kappalanguage.org/
GNU Lesser General Public License v3.0
112 stars 41 forks source link

KaJaSim feature idea: add left bar to editor displaying symbols for operations done in rule #210

Open hmedina opened 8 years ago

hmedina commented 8 years ago

There are several operations done in Kappa, e.g. binding, unbinding, link-swaps, state modifications, creation, and degradation. As a debugging tool, it would be useful if the editor informed the user of what it thought the rule was doing.

As an idea, I suggest (lightly) having a side bar (e.g. next to the line number) that displays small symbols. For example, if the rule binds then it has a red square, if it unbinds then it is a blue diamond, if there is a link swap there is a purple octahedron. State modification could be a green circle. Creation could be a tip-up black triangle, degradation a tip-down hollow triangle.

pirbo commented 7 years ago

Do you still think it is mandatory when using the syntax with edits I suggest in #204?

hmedina commented 7 years ago

I would call it as mandatory as syntax highlighting is for code development, so not mandatory at all. Hardcore people can code with just notepad.exe after all.

However, I think having the IDE tell the user what it understood of a rule is a type of feedback that is currently not offered. This could be fulfilled by having the capacity in the IDE to convert sentences to/from LHS->RHS and LHS + mod notations. Still, having an icon-based feedback for the actions in a rule would be more user friendly, and would suggest ways of structuring the kappa code. For example, making sure binding/unbinding rules are grouped and don't contain valid ka-typos.

hmedina commented 6 years ago

Addendum: people coming from different modeling backgrounds seem to struggle with keeping mass constant. As the longest prefix convention seems idiosyncratic to Kappa, novel users seem to forget it often. Therefore I believe users need more feedback from the UI telling them where they are synthesizing and degrading agents.