Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flow implementation validation doesn't check if the sequence is properly connected #2416

Closed
lwrage opened this issue Aug 21, 2020 · 1 comment · Fixed by #2467
Closed

Flow implementation validation doesn't check if the sequence is properly connected #2416

lwrage opened this issue Aug 21, 2020 · 1 comment · Fixed by #2467

Comments

@lwrage
Copy link
Contributor

lwrage commented Aug 21, 2020

Summary

There are cases where validation doesn't discover that the elements in a flow implementation are not connected.

Steps to Reproduce

  1. Load the model below into the AADL text editor
package Issue2416
public
	
	abstract A
		features
			i: in data port;
			o: out data port;
		flows
			fsrc: flow source o;
			fpth: flow path i -> o;
			fsnk: flow sink i;
	end A;
	
	abstract implementation A.i
		subcomponents
			mm1: abstract A;
			mm2: abstract A;
		connections
			cml: port i -> mm1.i;
			cmm: port mm1.o -> mm2.i;
			cmr: port mm2.o -> o;
		flows
			-- this one is ok
			fpth: flow path i -> cml -> mm1.fpth -> cmm -> mm2.fpth -> cmr -> o;
			-- this one is correctly marked with an error on the second cml
			fpth: flow path i -> cml -> mm1.fpth -> cml -> mm2.fpth -> cmr -> o;
			-- this one is correctly marked with errors on cmr and cmm
			fpth: flow path i -> cml -> mm1.fpth -> cmr -> mm2.fpth -> cmm -> o;
			-- there should be an error that mm1.fpth is not connected to cmr
			fpth: flow path i -> cml -> mm1.fpth -> cmr -> o;
			-- there should be an error that cml is not connected to mm2.fpth
			fpth: flow path i -> cml -> mm2.fpth -> cmr -> o;
			
			-- ok
			fsrc: flow source mm1.fpth -> cmm -> mm2.fpth -> cmr -> o;
			-- error as expected on cml
			fsrc: flow source mm1.fpth -> cml -> mm2.fpth -> cmr -> o;
			-- there should e an error on cmr
			fsrc: flow source mm1.fpth -> cmr -> o;
			
			-- ok
			fsnk: flow sink i -> cml -> mm1.fpth -> cmm -> mm2.fpth;
			-- error as expected on cml
			fsnk: flow sink i -> cml -> mm1.fpth -> cml -> mm2.fpth;
			-- there should e an error on cml
			fsnk: flow sink i -> cml -> mm2.fpth;
			
	end A.i;

end Issue2416;

Environment

  • OSATE Version: 2.8.0
  • Operating System: all
@lwrage
Copy link
Contributor Author

lwrage commented Aug 21, 2020

It looks like validation works if connection is to a different feature in the component of the flow spec but fails if the connection is to a different component.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants