As the demand for high-integrity and mission-critical embedded software intensifies, many organizations have adopted Model-Based Design to overcome the challenges associated with design complexity, reliability, quality, and time-to-market for embedded-systems development. The breadth and scope of projects applying Model-Based Design continues to increase rapidly, resulting in models that are exceptionally large and complex. Consequently, project teams have increased in size, thereby increasing the need for communication and collaboration. Model-Based Design facilitates parallel development in large-scale modeling projects by enabling multiple project teams to independently design models, integrate them with others, generate production code, and verify different model components within a larger collaborative infrastructure.
To facilitate and increase the efficiency of large scale modeling throughout the entire development life-cycle, a thorough understanding of the various steps and techniques involved in successfully applying Model-Based Design is required. These include a logical architecture to divide the model into components, clear definition of the interfaces prior to component design, maintenance of those interfaces, the production code generation approach, and the development infrastructure. The resulting design should use the same model components for design, verification, automatic document generation, and production code generation. This paper recommends best practices for creating an infrastructure and deploying large-scale models for embedded applications using Model-Based Design. The intended audience is individuals who plan to deploy a design with greater than 100,000 Simulink blocks and have experience using MATLAB, Simulink, and Real-Time Workshop Embedded Coder.