Skip to content

Insufficient validation of flow source and sink implementations #2835

@lwrage

Description

@lwrage

Summary
OSATE does allows a flow source implementation to stsrt with a flow sink or a path specification. It also allows a flow sink implementation to end with a flow source or path specification.

Expected behavior
These cases should be marked as errors in the AADL text editor.

Actual behavior
No validation seems to happen. Note that a similar check is implemented for flow path implementations and end to end flow implementations.

Steps To Reproduce

  1. Paste the model below in the AADL text editor.
  2. See that error markers are missing in A.i
package P2
public
	
	abstract A
		features
			fi: in feature;
			fo: out feature;
			f: feature;
		flows
			fsrc: flow source fo;
			fsnk: flow sink fi;
			fpth: flow path fi -> fo;
	end A;
	
	abstract implementation A.i1
		subcomponents
			b: abstract A;
		connections
			ci: feature fi -> b.fi; 
			ci1: feature f -> b.fi; 
			co: feature b.fo -> fo;
			co1: feature b.fo -> f;
		flows
			-- correct 
			-- and no error reported
			fsrc: flow source b.fsrc -> co -> fo;
			-- bug: flow source impl starts with flow sink
			-- but no error reported 
			fsrc: flow source b.fsnk -> co -> fo; 
			-- bug:  flow source impl starts with flow path
			-- but no error reported
			fsrc: flow source b.fpth -> co -> fo;
			
			-- correct 
			-- and no error reported
			fsnk: flow sink fi -> ci -> b.fsnk; 
			-- bug: flow sink impl ends with flow sink
			-- but no error reported 
			fsnk: flow sink fi -> ci -> b.fsrc; 
			-- bug:  flow sink impl ends with flow path
			-- but no error reported
			fsnk: flow sink fi -> ci -> b.fpth; 
	end A.i1;
	
	system S
	end S;
	
	system implementation S.i1 
		subcomponents
			a1: abstract A.i1;
			a2: abstract A.i1;
			a3: abstract A.i1;
		connections
			d1: feature a1.fo -> a2.fi;
			d2: feature a2.fo -> a3.fi;
		flows
			e1: end to end flow a1.fsrc -> d1 -> a2.fpth -> d2 -> a3.fsnk;
	end S.i1;
	
end P2;

Desktop (please complete the following information):

  • OSATE Version: 2.11
  • Operating System: Linux

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions