Why cannot a server call point call the server runnable in the same instance?
24 views (last 30 days)
Samir Revelo on 24 Mar 2019
I´m modeling an AUTOSAR software component named "A" by means of corresponding Simulink model "A". The model has one server interface "Sp". This server interface "Sp" shall provide a runnable "r" so that a client interface "Cp" from other AUTOSAR software component "B" can use the service from the server interface "Sp".
Furthermore, the software component "A" shall use the services of it´s own server port "Sp".
After making all the configurations for the AUTOSAR SWC and the mentioned interfaces, I´m getting following error:
The Function Caller block 'A / FunctionCallerERV_UPDATE_PROC' calls the Simulink Function block 'A / ERV_UPDATE_PROC'. This is not allowed, because the server call point in an AUTOSAR software component cannot call the server runnable in the same instance.
How is it possible to use the interface (provided function) of the server port inside the same AUTOSAR software component "A"?
I really do not want to model the same functionality which is being provided by mentioned server port "Sp" inside the same AUTOSAR software component "A" since it means that the generated code would contain double functionalities.
I´m using Matlab 2018b.
Many thanks in advance for your help.
Matt Brauer on 25 Mar 2019
It is currently required within AUTOSAR models that global Simulink Functions and Function Callers to global functions are mapped to client-server interfaces. These elements are function interfaces and are naturally represented as such in an AUTOSAR context.
In R2017a, Simulink began enforcing that the call point and server interfaces cannot be contained within the same instance of a runnable. This restriction is not explicit in the AUTOSAR specification. However, in practice, we have found that this limitation is common in AUTOSAR implementations and authoring tools. Imposing this restriction within Simulink helps avoid potential integration issues for customer.
The suggested mechanism to use Simulink Function & Function Callers pairs within an AUTOSAR runnable is to use scoped Simulink Functions. (Functionality introduced in R2017b)