Sr. Controls Software Engineer - MBD
Job Description
Roles & Responsibilities :
Model-Based Software Development & Power Systems Simulation
• Develop and maintain BMS application/control software models using MATLAB/Simulink and Stateflow.
• Perform model-based software development and automatic code generation using MathWorks tools.
• Develop and integrate control algorithms for BMS applications – BESS Domain.
• Generate production-quality embedded code from Simulink models using appropriate code-generation workflows.
• Perform model reviews, model quality checks, and ensure compliance with defined development standards.
• Analyze generated code and support debugging of model-to-code issues.
BMS Software Verification & Validation
• Develop and execute MIL, SIL, and PIL test strategies for BMS control software.
• Perform open-loop and closed-loop testing of BMS functions and features.
• Develop test cases, test scenarios, test harnesses, and automated test scripts.
• Use Simulink Test Manager for test execution and automation.
• Perform functional, regression, boundary-value, robustness, and requirement-based testing.
• Analyze test results, identify defects, perform root-cause analysis, and track issues through closure.
• Ensure adequate test coverage and traceability between requirements, models, code, and test cases.
Requirements Management
• Analyze and interpret system/software requirements for BMS functions.
• Manage requirements and maintain requirements-to-test traceability using tools such as IBM DOORS.
• Develop test cases based on requirements and ensure complete verification coverage.
• Support requirements reviews and identify ambiguity, gaps, and inconsistencies.
Static Code & Model Analysis
• Perform static code analysis of generated/embedded software using Polyspace and/or Parasoft.
• Analyze static-analysis findings and work with development teams to resolve issues.
• Perform model quality and compliance checks using Simulink Check.
• Support coding-standard compliance and software quality activities.
Automation & Scripting
• Develop automation scripts and test utilities using MATLAB/M-Scripting.
• Use Python for test automation, data processing, reporting, and engineering utilities.
• Improve testing efficiency through automated test execution and result analysis.
Requirements
Function: Engineering
Experience Level: Associate