Skip to content

Some data-access connections are not being instantiated. #2161

@schwerdf

Description

@schwerdf

Summary

When instantiating the AADL model below using the latest development version of OSATE, a data-access connection within the model is not being instantiated.

Expected and Current Behavior

When instantiating this model with OSATE 2.6.1, the instance file contained a connection instance corresponding to the data-access connection s1:

    <connectionInstance name="shared -> t1.shared" complete="true" kind="accessConnection" destination="//@componentInstance.0/@componentInstance.1/@featureInstance.0" source="//@componentInstance.0/@componentInstance.0">
      <connectionReference context="//@componentInstance.0" source="//@componentInstance.0/@componentInstance.0" destination="//@componentInstance.0/@componentInstance.1/@featureInstance.0">
        <connection xsi:type="aadl2:AccessConnection" href="../DataAccessConnectionTest.aadl#/0/@ownedPublicSection/@ownedClassifier.7/@ownedAccessConnection.0"/>
      </connectionReference>
    </connectionInstance>

Steps to Reproduce

  1. With the AADL model below, instantiate the system implementation DACT.impl.
  2. Open the instance file.
  3. Note that there is no connection instance of any kind in the file.
package DataAccessConnectionTest
public
	data Shared		
	end Shared;
	
	data implementation Shared.impl
	end Shared.impl;
	
	subprogram RequiresData
	features
		shared: requires data access Shared;
	end RequiresData;
	
	subprogram implementation RequiresData.impl
	end RequiresData.impl;
	
	thread ThreadRequiresData
	features
		shared: requires data access Shared;			
	end ThreadRequiresData;
	
	thread implementation ThreadRequiresData.impl
	subcomponents
		sp: subprogram RequiresData.impl;
	calls main: {
		s1 : subprogram sp;
	};		
	connections
		dc: data access shared -> sp.shared;
	end ThreadRequiresData.impl;		
	
	process Proc	
	features
		externalData: requires data access;					
	end Proc;	
	
	process implementation Proc.impl
	subcomponents
		shared: data Shared.impl;
		t1: thread ThreadRequiresData.impl;
	connections
		s1: data access shared -> t1.shared;
	end Proc.impl;	
		
	processor P
	end P;
	
	processor implementation P.impl
	end P.impl;

	system DACT
	end DACT;

	system implementation DACT.impl
	subcomponents
		proc: processor P.impl;
		app: process Proc.impl;
	properties
		Actual_Processor_Binding => (reference (proc)) applies to app;		
	end DACT.impl;		

end DataAccessConnectionTest;

Environment

  • OSATE Version: 2.7.0-v20201007-1612
  • Operating System: Windows 7, macOS 10.14

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions