Problems with simulating replicated composed components

Description

When running the example (https://svnserver.informatik.kit.edu/i43/svn/code/Palladio/Examples/ReplicatedCompositeComponent_Example) with SimuLizar the following exception occurs. A simulation with Simucom works properly.

 

 [Thread-2133] WARN : Simulation caused an exception. Caught it in SimProcess Lifecycle Method
java.util.NoSuchElementException: No value present
at java.util.Optional.get(Unknown Source)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.computeAssemblyContextPathUsingGlobalPCMModel(RepositoryComponentSwitch.java:240)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.computeFQComponentIDUsingGlobalPCMModel(RepositoryComponentSwitch.java:221)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseBasicComponent(RepositoryComponentSwitch.java:89)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseBasicComponent(RepositoryComponentSwitch.java:1)
at org.palladiosimulator.pcm.repository.util.RepositorySwitch.doSwitch(RepositorySwitch.java:134)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:278)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:1)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseProvidedRole(RepositoryComponentSwitch.java:149)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseProvidedRole(RepositoryComponentSwitch.java:1)
at org.palladiosimulator.pcm.repository.util.RepositorySwitch.doSwitch(RepositorySwitch.java:567)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:278)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:1)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseComposedProvidingRequiringEntity(RepositoryComponentSwitch.java:134)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:276)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:1)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseProvidedRole(RepositoryComponentSwitch.java:149)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseProvidedRole(RepositoryComponentSwitch.java:1)
at org.palladiosimulator.pcm.repository.util.RepositorySwitch.doSwitch(RepositorySwitch.java:567)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:278)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:1)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.ComposedStructureInnerSwitch.caseAssemblyConnector(ComposedStructureInnerSwitch.java:56)
at org.palladiosimulator.simulizar.interpreter.ComposedStructureInnerSwitch.caseAssemblyConnector(ComposedStructureInnerSwitch.java:1)
at org.palladiosimulator.pcm.core.composition.util.CompositionSwitch.doSwitch(CompositionSwitch.java:261)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.ComposedStructureInnerSwitch.caseAssemblyContext(ComposedStructureInnerSwitch.java:90)
at org.palladiosimulator.simulizar.interpreter.ComposedStructureInnerSwitch.caseAssemblyContext(ComposedStructureInnerSwitch.java:1)
at org.palladiosimulator.pcm.core.composition.util.CompositionSwitch.doSwitch(CompositionSwitch.java:436)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.RDSeffSwitch.caseExternalCallAction(RDSeffSwitch.java:208)
at org.palladiosimulator.pcm.seff.util.SeffSwitch.doSwitch(SeffSwitch.java:416)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.RDSeffSwitch.caseResourceDemandingBehaviour(RDSeffSwitch.java:123)
at org.palladiosimulator.pcm.seff.util.SeffSwitch.doSwitch(SeffSwitch.java:166)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.RDSeffSwitch.caseBranchAction(RDSeffSwitch.java:253)
at org.palladiosimulator.pcm.seff.util.SeffSwitch.doSwitch(SeffSwitch.java:217)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.RDSeffSwitch.caseResourceDemandingBehaviour(RDSeffSwitch.java:123)
at org.palladiosimulator.pcm.seff.util.SeffSwitch.doSwitch(SeffSwitch.java:293)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.interpretSeffs(RepositoryComponentSwitch.java:212)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseBasicComponent(RepositoryComponentSwitch.java:97)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseBasicComponent(RepositoryComponentSwitch.java:1)
at org.palladiosimulator.pcm.repository.util.RepositorySwitch.doSwitch(RepositorySwitch.java:134)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:278)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:1)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseProvidedRole(RepositoryComponentSwitch.java:149)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseProvidedRole(RepositoryComponentSwitch.java:1)
at org.palladiosimulator.pcm.repository.util.RepositorySwitch.doSwitch(RepositorySwitch.java:567)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:278)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:1)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseComposedProvidingRequiringEntity(RepositoryComponentSwitch.java:134)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:276)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:1)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseProvidedRole(RepositoryComponentSwitch.java:149)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.caseProvidedRole(RepositoryComponentSwitch.java:1)
at org.palladiosimulator.pcm.repository.util.RepositorySwitch.doSwitch(RepositorySwitch.java:567)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:278)
at org.palladiosimulator.simulizar.interpreter.RepositoryComponentSwitch.doSwitch(RepositoryComponentSwitch.java:1)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.UsageScenarioSwitch.caseEntryLevelSystemCall(UsageScenarioSwitch.java:110)
at org.palladiosimulator.pcm.usagemodel.util.UsagemodelSwitch.doSwitch(UsagemodelSwitch.java:134)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.UsageScenarioSwitch.caseAbstractUserAction(UsageScenarioSwitch.java:191)
at org.palladiosimulator.pcm.usagemodel.util.UsagemodelSwitch.doSwitch(UsagemodelSwitch.java:258)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.UsageScenarioSwitch.caseScenarioBehaviour(UsageScenarioSwitch.java:152)
at org.palladiosimulator.pcm.usagemodel.util.UsagemodelSwitch.doSwitch(UsagemodelSwitch.java:171)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.interpreter.UsageScenarioSwitch.caseUsageScenario(UsageScenarioSwitch.java:207)
at org.palladiosimulator.pcm.usagemodel.util.UsagemodelSwitch.doSwitch(UsagemodelSwitch.java:101)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
at org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
at org.palladiosimulator.simulizar.usagemodel.SimulatedUsageModels$3.lambda$1(SimulatedUsageModels.java:128)
at java.util.Optional.ifPresent(Unknown Source)
at org.palladiosimulator.simulizar.usagemodel.SimulatedUsageModels$3.scenarioRunner(SimulatedUsageModels.java:127)
at de.uka.ipd.sdq.simucomframework.usage.OpenWorkloadUser.scenarioRunner(OpenWorkloadUser.java:80)
at de.uka.ipd.sdq.simucomframework.usage.OpenWorkloadUser.internalLifeCycle(OpenWorkloadUser.java:48)
at de.uka.ipd.sdq.simucomframework.SimuComSimProcess.lifeCycle(SimuComSimProcess.java:176)
at de.uka.ipd.sdq.simulation.abstractsimengine.processes.SimulatedProcess.actions(SimulatedProcess.java:66)
at de.uka.ipd.sdq.simulation.abstractsimengine.processes.SimulatedProcess$1.run(SimulatedProcess.java:49)
at java.lang.Thread.run(Unknown Source)

Environment

None

Activity

Show:
Sebastian Krach
July 24, 2017, 4:46 PM

The failure originated from missing functionality to lookup assembly contexts nested in composed components.

Fixed

Assignee

Sebastian Krach

Reporter

Sebastian Krach