Map System Architecture to Simulink Modeling Environment
When designing models for rapid-prototyping deployment, think about these design factors.
| Modeling Algorithms (Embedded Coder) | Given initial state and input, a set of tasks or instructions that efficiently produce a correct result that you want. |
| Modeling Interfaces (Embedded Coder) | Mechanisms that enable algorithm components to communicate and exchange information across component boundaries. |
| Modeling Systems (Embedded Coder) | Collection of algorithm components that achieve a higher-level, domain-specific goal or result. Components often share resources. |
| Modeling Target Platform Environments (Embedded Coder) | Framework that handles scheduling of system algorithm resources and execution. |
Consider the following questions concerning modeling capabilities. Use the information listed with the questions as a guide as you design models. Designing a model with a specific run-time execution environment in mind can help you avoid rework and future conversion and maintenance costs.
Modeling Algorithms
| Architecture Considerations | Modeling Considerations | Related Information |
|---|---|---|
| What is the system domain? | Product prerequisites (based on domains of components) | |
| Does the system involve physical domains, such as mechanical, electrical, or hydraulic domains? | Physical systems | |
| What aspects of your algorithm can you represent with blocks provided by MathWorks® products? What blocks do you need to create? | Block usage, creation, and customization | |
| Does the architecture include state machine components? | Event-driven system | Model a Finite State Machine (Stateflow) |
Modeling Interfaces
| Architecture Considerations | Modeling Considerations | Related Information |
|---|---|---|
| Data representation | |
| Where and how is data pulled into the system and pulled within the system? | Input | |
| Output | |
| Functions and function calls | Configure Generated C Function Interface for Model Entry-Point Functions |
| Do you need to export functions that are invoked by controlling logic that is outside the model? | Function export | |
| Does the system monitor signals or log data (for example, for calibration)? | C API and ASAP2 data exchange interfaces | |
| Do you need to replace code generated for functions or operators, for example, to optimize the code for specific hardware? | Code replacement |
|
| Is there a requirement for elaboration and future considerations? | Elaboration and future considerations |
Modeling Systems
| Architecture Considerations | Modeling Considerations | Related Information |
|---|---|---|
| Componentization | |
| Model referencing | |
| Are you modeling a client-server architecture? | Simulink Function and Caller blocks | |
| Is relevant legacy or custom code available? | External code integration | Choose an External Code Integration Workflow (Embedded Coder) |
| Can you apply a reference architecture or reference components? | Model and project templates | |
| Can you reuse functions? | Function reuse | |
| Shared data |
Modeling Run-Time Environments
| Architecture Considerations | Modeling Considerations | Related Information |
|---|---|---|
| Runtime interfacing | |
| Is the system partitioned into concurrent components to maximize parallelism? Which components? | Concurrency | |
| Clocks and clock rates | |
| Time-based scheduling | |
| Event-based scheduling | |
| Does the system need to handle initialization, reset, or terminate events? | Initialization, reset, termination | |
| Task execution | |
| Processing platforms | Multicore Processor Targets |