○ Nonvirtual subsystem - evaluated as a single unit (atomic execution), conditionally executed (triggering, function-call, action, or enabling input) ○ Virtual subsystems – Subsystem is neither conditionally nor atomically execuited ○ Codereuse subsystem - Treat as atomic unit selected and the parameter Function packaging set to Reusable function • Datatypes ○ Simulink default datatype - double ○ Constant block, whose output data type is determined by the data type of its parameter. ○ Virtual blocks accept signals of any type on their inputs - eg: Mux and Demux blocks and unconditionally executed subsystems. ○ Connecting a non-double signal to a block disables zero-crossing detection for that block. • Virtual Signals - a signal that graphically represents other signals or parts of other signals - purely graphical entities with no mathematical or physical significance ○ Eg: Mux block: does not combine signals in any functional sense: it exists only virtually, and its only purpose is to simplify the visual appearance of a model. Using a mux has no effect on simulation or generated code • Vector Concatenate block - for arrays/vectors.