Virtual (or non-atomic) subsystems are simply a visual convenience, but Simulink treats the subsystems as if all the blocks existed at the same level.
Atomic subsystems, on the other hand, let you control the execution of the model. It forces Simulink to run all the blocks in that subsystem as if it were its own separate "function". This has implications for generated code as well, if you're doing that.
Yes, please see the attached simple model and library for an example of the use of a dynamic masked subsystems with Simulink Code Inspector. For more information about dynamic masked subsystems and the Simulink Code Inspector, you can refer to the following documentation:
Best Answer