Skip to content

Cycle in hierarchy causes property resolution to never complete #1842

@philip-alldredge

Description

@philip-alldredge

Summary

OSATE can enter an infinite loop when looking up properties on component types that have a cycle in the hierarchy. This is because ComponentTypeImpl.getPropertyVlaueInternal only detects loops if the "this" component type is part of the cycle as opposed to a cycle in other parts of the hierarchy.

Expected and Current Behavior

Should break out of cycle in property resolution.

Steps to Reproduce

  1. Open model
  2. Open AADL Properties View
  3. Right click on "A" in the outline.

It can also be triggered by using the graphical editor or anything else that may cause a property lookup.

package cycle_example
public
	system A extends B
	end A;
	
	system B extends C
	end B;
	
	system C extends B
	end C;	
end cycle_example;

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions