The translator should be able to create method shells beyond a single default for each thread. The aadl for a very basic one-subprogram thread might look something like:
thread UpdateRespiratoryRateThread
features
RespiratoryRate : in event data port PCA_Shutoff_Types::RespiratoryRate;
RespiratoryRateGlobalAccess : requires data access PCA_Shutoff_Types::RespiratoryRate;
end UpdateRespiratoryRateThread;
thread implementation UpdateRespiratoryRateThread.imp
calls
default:{
Update : subprogram UpdateRespiratoryRateMethod.imp;
};
connections
rr_update : data access Update.RespiratoryRate -> RespiratoryRateGlobalAccess;
end UpdateRespiratoryRateThread.imp;
subprogram UpdateRespiratoryRateMethod
features
RespiratoryRate : requires data access PCA_Shutoff_Types::RespiratoryRate;
end UpdateRespiratoryRateMethod;
subprogram implementation UpdateRespiratoryRateMethod.imp
end UpdateRespiratoryRateMethod.imp;
The translator should be able to create method shells beyond a single default for each thread. The aadl for a very basic one-subprogram thread might look something like: