Develop Architecture Models
R2026bA modular, scalable, and reusable architecture simplifies system maintenance when you apply updates. Use System Composer™ to design and develop system and software architectures. For more information, see Compose and Analyze Systems Using Architecture Models (System Composer) and Choose Architecture Template for System Design (System Composer).
Design the BMS from a high-level architecture perspective using System Composer. You can decompose the BMS into its components and define the connections among them by using an architecture model. Starting the design process from an architecture model establishes a digital thread connecting architecture decisions to requirements, behavior models, and tests.
In this section, you:
Decompose the system into components.
Define component interfaces.
Link components to shared data dictionaries.
Create custom views to visualize the architecture.
Tip
Open Doc/BMSArchitecture.m in the project for an interactive
walkthrough of this section.
System Architecture
The top-level architecture model, BMSSystemArchitecture.slx,
combines the BMS controller and plant systems into a single system view.

BMS Algorithm Architecture (
BMSAlgorithmArchitecture.slx) — A Reference Component (System Composer) block that links to a software architecture model representing the BMS controller.Battery Pack Electrical (
BatteryModel.slx) — A Reference Component block that links to a Simulink® model representing the BMS plant.Input Adapter (
InputAdapter.slx) — A Reference Component block that links to a Simulink subsystem. TheInputAdaptercomponent adapts sensor data from the BMS plant to the expected BMS sensor data of the controller.Output Adapter (
OutputAdapter.slx) — A Reference Component block that links to a Simulink subsystem. TheOutputAdaptercomponent adapts BMS command signals from the controller to the expected BMS command signals of the plant.
This architecture model provides a high-level overview of the system design, suitable for early-stage prototyping discussions and stakeholder reviews. To simulate system behavior, use the test harnesses described in the Verify and Validate System step of this example.
The architecture uses a flat hierarchy with model references rather than deeply nested subsystem references, which reduces file dependencies and supports parallel builds.
Algorithm Architecture (Controller)
The software architecture model, BMSAlgorithmArchitecture.slx,
uses the Software Architecture template in System Composer. The software architecture decomposes the controller of the BMS into
three main components and serves as a referenced architecture in the top-level
system architecture model, BMSSystemArchitecture.slx.

The components of the software architecture include:
StateMachine— Supervisory control and operating mode management.CellMonitoringAndBalancing— SOC estimation and passive cell balancing.SystemControlAndProtection— Fault detection, contactor management, and current/power limits.
Each component functions as an independent unit with its own data dictionary and interface definitions. To connect these components to behavior models, see BMS Controller Components.
Battery Model (Plant)
The plant component (BatteryPackElectrical) in the system
architecture represents the physical battery system. The model decomposes the plant
of the BMS into four main subsystems and serves as a referenced model in the
top-level system architecture model,
BMSSystemArchitecture.slx.

The subsystems of the model include:
BatteryPack— NMC cells in 16S1P modules with adjustable fidelity.PreChargerCircuit— Controlled battery connection using contactors and resistors.ChargerLoad— External charger and vehicle load current source.
For details on linking this architecture component to its behavior model and switching between fidelity levels, see BMS Plant Components.
Component Interfaces
Each architecture component communicates through interfaces defined as
Simulink.Bus objects in *Interface.sldd
data dictionaries. For details on the interface dictionaries and their scope, see
Manage Design Data. When you
link behavior models to architecture components, the components inherit the port
definitions from these dictionaries automatically.
Create Custom Views
Use the Architecture Views Gallery (System Composer) to visualize component relationships without modifying the architecture model.
Open
BMSSystemArchitecture.slx.On the Modeling tab, click Architecture Views.
Create views to observe component hierarchy, port connections and data flow, and dependencies between components.
For more information, see Create Custom Views Using Architecture Views Gallery (System Composer).
Extended Capabilities
This project demonstrates a subset of System Composer capabilities. You can also:
Define profiles and stereotypes to extend architecture elements with custom properties. See Define and Style Stereotypes in Profiles (System Composer).
Analyze architectures using parameters and analysis functions. See Analysis Function Constructs (System Composer).
Tip
For an interactive walkthrough of the architecture workflow, open
Doc/BMSArchitecture.m in the project. For the plant
model and battery pack variants, open
Doc/BMSPlantModel.m.
See Also
Topics
- Best Practices for Large-Scale Architecture Modeling (System Composer)
- Compose and Analyze Systems Using Architecture Models (System Composer)
- Allocate and Trace Requirements from Design to Verification (System Composer)
- Author Software Architectures (System Composer)