Error when saving an AADL declarative model generated by the ATL transformations
It would be nice that the standard save works so that we can use the standard OSATE Xtext unparser, thus avoiding the need for a custom unparser as implemented in RAMSES and its maintenance.
The exception trace is: java.lang.RuntimeException: Could not serialize EObject via backtracking. Constraint: null name=ID sourceText=ANNEXTEXT (inMode+=[Mode|ID] inMode+=[Mode|ID]*)? null Values: name(1), sourceText(1), variables(1), states(4), transitions(3), actions(3) Semantic Object: AadlPackage'Test_R1_Basic_refined_model'.ownedPublicSection->PublicPackageSection'Test_R1_Basic_refined_model_public'.ownedClassifier[9]->SubprogramImplementation'the_proc_the_sender_entrypoint.impl'.ownedAnnexSubclause[0]->BehaviorAnnex'behavior_specification' Context: AnnexSubclause at org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic$ExceptionThrowingAcceptor.accept(ISerializationDiagnostic.java:77) at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:456) at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.sequence_DefaultAnnexSubclause(AbstractAadl2SemanticSequencer.java:1575) at org.osate.xtext.aadl2.serializer.Aadl2SemanticSequencer.createSequence(Aadl2SemanticSequencer.java:195) at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptEObjectRuleCall(SequenceFeeder.java:299) at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptRuleCall(SequenceFeeder.java:325) at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.accept(SequenceFeeder.java:239) at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.accept(BacktrackingSemanticSequencer.java:401) at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:454) at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.sequence_SubprogramImplementation(AbstractAadl2SemanticSequencer.java:3108) at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.createSequence(AbstractAadl2SemanticSequencer.java:879) at org.osate.xtext.aadl2.serializer.Aadl2SemanticSequencer.createSequence(Aadl2SemanticSequencer.java:200) at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptEObjectRuleCall(SequenceFeeder.java:299) at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptRuleCall(SequenceFeeder.java:325) at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.accept(SequenceFeeder.java:239) at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.accept(BacktrackingSemanticSequencer.java:401) at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:454) at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.sequence_PublicPackageSection(AbstractAadl2SemanticSequencer.java:2808) at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.createSequence(AbstractAadl2SemanticSequencer.java:770) at org.osate.xtext.aadl2.serializer.Aadl2SemanticSequencer.createSequence(Aadl2SemanticSequencer.java:200) at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptEObjectRuleCall(SequenceFeeder.java:299) at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.acceptRuleCall(SequenceFeeder.java:325) at org.eclipse.xtext.serializer.acceptor.SequenceFeeder.accept(SequenceFeeder.java:222) at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.accept(BacktrackingSemanticSequencer.java:408) at org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.createSequence(BacktrackingSemanticSequencer.java:454) at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.sequence_AadlPackage(AbstractAadl2SemanticSequencer.java:1039) at org.osate.xtext.aadl2.serializer.AbstractAadl2SemanticSequencer.createSequence(AbstractAadl2SemanticSequencer.java:204) at org.osate.xtext.aadl2.serializer.Aadl2SemanticSequencer.createSequence(Aadl2SemanticSequencer.java:200) at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:86) at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:109) at org.eclipse.xtext.serializer.impl.Serializer.serialize(Serializer.java:133) at org.eclipse.xtext.resource.XtextResource.doSave(XtextResource.java:354) at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1430) at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:999) at de.mdelab.workflow.components.impl.ModelWriterImpl.execute(ModelWriterImpl.java:537) at de.mdelab.workflow.impl.WorkflowImpl.execute(WorkflowImpl.java:704) at de.mdelab.workflow.impl.WorkflowImpl.execute(WorkflowImpl.java:386) at de.mdelab.workflow.impl.WorkflowImpl.execute(WorkflowImpl.java:327) at de.mdelab.workflow.ui.WorkflowJob.runInWorkspace(WorkflowJob.java:74) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)