Applying Model-based Modular Open Systems Approach to Hardware & Software Verification