Skip to content

Bidirectional feature group connection produces incorrect connection instance #2318

Description

@thari

Summary

image

Osate produces connection instances with both source and destination being the same port.

Expected and Current Behavior

Osate instantiation of a system with bi-directional feature group connections between parent and sub components produces the backward connection instance incorrectly. It is supposed to make a connection instance from a leaf level component out port to the top level component's out port. However, Osate connects back to the leaf level components out port.

Steps to Reproduce

  1. Instantiate the toplevel.i system from the provided model
  2. Check for the connection instances
  3. The second connection instance's source and destination are same
package FeatureGroupTest
public
	
	feature group abstract_fg
		
	end abstract_fg;
	
	feature group refined_fg extends abstract_fg
		features 
			test_feature1 : in data port;
			test_feature2 : out data port;
	end refined_fg;
	
	system abstract_toplevel
		features 
			fg_port : feature group abstract_fg;
	end abstract_toplevel;
	
	system toplevel extends abstract_toplevel
		features
			fg_port : refined to feature group refined_fg;
		properties
			Classifier_Substitution_Rule => Type_Extension; --HT
	end toplevel;
	
	system implementation toplevel.i
		subcomponents
			sub : process subsystem.i;
		connections
			conn:  feature group fg_port <-> sub.fg_port;
	end toplevel.i;
	
	process abstract_subsystem
		features 
			fg_port : feature group abstract_fg;
	end abstract_subsystem;
	
	process subsystem extends abstract_subsystem
		features 
			fg_port : refined to feature group refined_fg;
		properties
			Classifier_Substitution_Rule => Type_Extension; --HT
	end subsystem;
	
	process implementation subsystem.i
		subcomponents
			th : thread subsub;
		connections
			conn2 : feature group fg_port <->th.fg_port;
	end subsystem.i;
	
	thread subsub
		features 
			fg_port : feature group refined_fg;
	end subsub;
	
end FeatureGroupTest;

Other Observation

  1. Even when the connection instance of two different ports are made, the connection reference with same source and destination exists

  2. Bug exist with and without the feature group refinement

Environment

  • OSATE Version: 2.7.0, 2.7.1 and the latest master branch development environment
  • Operating System: Mac

Metadata

Metadata

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions