Update OSATE and the behavior annex plugin to support accessing and unparsing of any parsed behavior annex regardless of resolution issues. This is helpful for the graphical editor to allow editing behavior annex subclauses when there are resolution or legality errors.
Parsed annex sublause is null whenever a resolution error occurs.
The parsed annex subclause is set to null if there are any resolution errors. This behavior should be removed by removing the following lines from AnnexParserAgent
if (resolveErrReporter.getNumErrors() != 0) {
setParsedAnnexSection.accept(null);
}
Unparsing fails in some cases
In some cases the behavior annex unparser fails and produces unexpected results. Given the following model:
package ba_unparse
public
system top
annex behavior_specification {**
states
s3 : state;
transitions
t1 : s1 -[]-> s2 {
o1 := tmp + 1
};
**};
end top;
end ba_unparse;
Adding a new state and unparsing with the graphical editor and unparsing produces:
public
system top
annex behavior_specification {**
states
s3 : state;
top_new_state : initial state;
transitions
**};
end top;
end ba_unparse;
The following message appears in the console of the development environment: aadlba unparsing failed for : DeclarativeBehaviorTransitionImpl
There may be other unparsing cases that are problematic but these are the ones we have experienced so far.
@RyanMcilnay please add comments with any other cases where unparsing fails. You'll need to make the change to AnnexParserAgent first.
Update OSATE and the behavior annex plugin to support accessing and unparsing of any parsed behavior annex regardless of resolution issues. This is helpful for the graphical editor to allow editing behavior annex subclauses when there are resolution or legality errors.
Parsed annex sublause is null whenever a resolution error occurs.
The parsed annex subclause is set to null if there are any resolution errors. This behavior should be removed by removing the following lines from
AnnexParserAgentUnparsing fails in some cases
In some cases the behavior annex unparser fails and produces unexpected results. Given the following model:
Adding a new state and unparsing with the graphical editor and unparsing produces:
The following message appears in the console of the development environment:
aadlba unparsing failed for : DeclarativeBehaviorTransitionImplThere may be other unparsing cases that are problematic but these are the ones we have experienced so far.
@RyanMcilnay please add comments with any other cases where unparsing fails. You'll need to make the change to
AnnexParserAgentfirst.