osate / osate2

Open Source AADL2 Tool Environment
http://osate.org
Eclipse Public License 2.0
36 stars 8 forks source link

Error when instantiating the model - reason: Resource is null (using arrays and prototypes) #712

Closed brlarson closed 8 years ago

brlarson commented 8 years ago

Get error message of issue title trying to instantiate:

system Example end Example;

system implementation Example.duplex --everything duplex except actuator subcomponents p : abstract duplex_process.imp[2]; b : bus Simplex::a_bus[2]; c : processor Simplex::cpu[2]; m : memory Simplex::mem[2]; s : device Simplex::sensor[2]; a : abstract duplex_actuator.imp; connections c_b : bus access c.to_bus -> b; --connect array of processor to array of bus m_b : bus access m.to_bus -> b; --connect array of memory to array of bus s_b : bus access s.to_bus -> b; --connect array of sensor to array of bus a_b : bus access a.to_bus -> b; --connect bus access array of actuator to array of bus meas: port s.measurement -> p.measurement -- 2x2 array of connections {Connection_Pattern => ((One_To_One,One_To_All));}; cont: port p.control -> a.control {Connection_Pattern => ((One_To_One));}; pos : port a.position -> p.position {Connection_Pattern => ((One_To_One,One_To_All));};
properties Actual_Processor_Binding => (reference(c)) applies to p; Actual_Processor_Binding => (reference(c)) applies to p.proc.my_thread; Actual_Memory_Binding => (reference(m)) applies to p; Actual_Connection_Binding => (reference(b)) applies to meas; Actual_Connection_Binding => (reference(b)) applies to cont; Actual_Connection_Binding => (reference(b)) applies to pos;

end Example.duplex;

Stack trace: java.lang.NullPointerException: Resource is null at org.osate.aadl2.modelsupport.errorreporting.AnalysisErrorReporterManager.getReporter(AnalysisErrorReporterManager.java:151) at org.osate.aadl2.modelsupport.errorreporting.AnalysisErrorReporterManager.error(AnalysisErrorReporterManager.java:257) at org.osate.aadl2.modelsupport.modeltraversal.ForAllElement.error(ForAllElement.java:1303) at org.osate.aadl2.instantiation.CachePropertyAssociationsSwitch.cacheConnectionPropertyAssociations(CachePropertyAssociationsSwitch.java:333) at org.osate.aadl2.instantiation.CachePropertyAssociationsSwitch$1.caseConnectionInstance(CachePropertyAssociationsSwitch.java:137) at org.osate.aadl2.instantiation.CachePropertyAssociationsSwitch$1.caseConnectionInstance(CachePropertyAssociationsSwitch.java:1) at org.osate.aadl2.instance.util.InstanceSwitch.doSwitch(InstanceSwitch.java:176) at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53) at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69) at org.osate.aadl2.modelsupport.modeltraversal.AadlProcessingSwitch.process(AadlProcessingSwitch.java:175) at org.osate.aadl2.modelsupport.modeltraversal.ForAllElement.processObject(ForAllElement.java:286) at org.osate.aadl2.modelsupport.modeltraversal.PreOrderTraversal.visitRoot(PreOrderTraversal.java:55) at org.osate.aadl2.modelsupport.modeltraversal.PreOrderTraversal.visitRoot(PreOrderTraversal.java:60) at org.osate.aadl2.modelsupport.modeltraversal.ForAllElement.processPreOrderAll(ForAllElement.java:549) at org.osate.aadl2.instantiation.InstantiateModel.fillSystemInstance(InstantiateModel.java:480) at org.osate.aadl2.instantiation.InstantiateModel.createSystemInstanceInt(InstantiateModel.java:388) at org.osate.aadl2.instantiation.InstantiateModel$1.doExecute(InstantiateModel.java:342) at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135) at org.eclipse.emf.workspace.EMFCommandOperation.doExecute(EMFCommandOperation.java:119) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:516) at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208) at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165) at org.osate.aadl2.instantiation.InstantiateModel.createSystemInstance(InstantiateModel.java:354) at org.osate.aadl2.instantiation.InstantiateModel.buildInstanceModelFile(InstantiateModel.java:243) at org.osate.xtext.aadl2.ui.handlers.InstantiateHandler$1.lambda$0(InstantiateHandler.java:165) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119) java.lang.NullPointerException: Resource is null at org.osate.aadl2.modelsupport.errorreporting.AnalysisErrorReporterManager.getReporter(AnalysisErrorReporterManager.java:151) at org.osate.aadl2.modelsupport.errorreporting.AnalysisErrorReporterManager.error(AnalysisErrorReporterManager.java:257) at org.osate.aadl2.modelsupport.modeltraversal.ForAllElement.error(ForAllElement.java:1303) at org.osate.aadl2.instantiation.CachePropertyAssociationsSwitch.cacheConnectionPropertyAssociations(CachePropertyAssociationsSwitch.java:333) at org.osate.aadl2.instantiation.CachePropertyAssociationsSwitch$1.caseConnectionInstance(CachePropertyAssociationsSwitch.java:137) at org.osate.aadl2.instantiation.CachePropertyAssociationsSwitch$1.caseConnectionInstance(CachePropertyAssociationsSwitch.java:1) at org.osate.aadl2.instance.util.InstanceSwitch.doSwitch(InstanceSwitch.java:176) at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53) at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69) at org.osate.aadl2.modelsupport.modeltraversal.AadlProcessingSwitch.process(AadlProcessingSwitch.java:175) at org.osate.aadl2.modelsupport.modeltraversal.ForAllElement.processObject(ForAllElement.java:286) at org.osate.aadl2.modelsupport.modeltraversal.PreOrderTraversal.visitRoot(PreOrderTraversal.java:55) at org.osate.aadl2.modelsupport.modeltraversal.PreOrderTraversal.visitRoot(PreOrderTraversal.java:60) at org.osate.aadl2.modelsupport.modeltraversal.ForAllElement.processPreOrderAll(ForAllElement.java:549) at org.osate.aadl2.instantiation.InstantiateModel.fillSystemInstance(InstantiateModel.java:480) at org.osate.aadl2.instantiation.InstantiateModel.createSystemInstanceInt(InstantiateModel.java:388) at org.osate.aadl2.instantiation.InstantiateModel$1.doExecute(InstantiateModel.java:342) at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135) at org.eclipse.emf.workspace.EMFCommandOperation.doExecute(EMFCommandOperation.java:119) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:516) at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208) at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165) at org.osate.aadl2.instantiation.InstantiateModel.createSystemInstance(InstantiateModel.java:354) at org.osate.aadl2.instantiation.InstantiateModel.buildInstanceModelFile(InstantiateModel.java:243) at org.osate.xtext.aadl2.ui.handlers.InstantiateHandler$1.lambda$0(InstantiateHandler.java:165) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119) java.lang.NullPointerException: Resource is null at org.osate.aadl2.modelsupport.errorreporting.AnalysisErrorReporterManager.getReporter(AnalysisErrorReporterManager.java:151) at org.osate.aadl2.modelsupport.errorreporting.AnalysisErrorReporterManager.error(AnalysisErrorReporterManager.java:257) at org.osate.aadl2.modelsupport.modeltraversal.ForAllElement.error(ForAllElement.java:1303) at org.osate.aadl2.instantiation.CachePropertyAssociationsSwitch.cacheConnectionPropertyAssociations(CachePropertyAssociationsSwitch.java:333) at org.osate.aadl2.instantiation.CachePropertyAssociationsSwitch$1.caseConnectionInstance(CachePropertyAssociationsSwitch.java:137) at org.osate.aadl2.instantiation.CachePropertyAssociationsSwitch$1.caseConnectionInstance(CachePropertyAssociationsSwitch.java:1) at org.osate.aadl2.instance.util.InstanceSwitch.doSwitch(InstanceSwitch.java:176) at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53) at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69) at org.osate.aadl2.modelsupport.modeltraversal.AadlProcessingSwitch.process(AadlProcessingSwitch.java:175) at org.osate.aadl2.modelsupport.modeltraversal.ForAllElement.processObject(ForAllElement.java:286) at org.osate.aadl2.modelsupport.modeltraversal.PreOrderTraversal.visitRoot(PreOrderTraversal.java:55) at org.osate.aadl2.modelsupport.modeltraversal.PreOrderTraversal.visitRoot(PreOrderTraversal.java:60) at org.osate.aadl2.modelsupport.modeltraversal.ForAllElement.processPreOrderAll(ForAllElement.java:549) at org.osate.aadl2.instantiation.InstantiateModel.fillSystemInstance(InstantiateModel.java:480) at org.osate.aadl2.instantiation.InstantiateModel.createSystemInstanceInt(InstantiateModel.java:388) at org.osate.aadl2.instantiation.InstantiateModel$1.doExecute(InstantiateModel.java:342) at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135) at org.eclipse.emf.workspace.EMFCommandOperation.doExecute(EMFCommandOperation.java:119) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:516) at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208) at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165) at org.osate.aadl2.instantiation.InstantiateModel.createSystemInstance(InstantiateModel.java:354) at org.osate.aadl2.instantiation.InstantiateModel.buildInstanceModelFile(InstantiateModel.java:243) at org.osate.xtext.aadl2.ui.handlers.InstantiateHandler$1.lambda$0(InstantiateHandler.java:165) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)

lwrage commented 8 years ago

Can you please send a complete example? I can't reproduce the issue with the given AADL fragment.