en50128-design

Apply EN 50128 design patterns to MISRA C:2012 compliant C software.

5|4|Updated Feb 6, 2026
One-click install
npx skills add https://github.com/norechang/opencode-en50128 --skill en50128-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: en50128-design
Source: https://github.com/norechang/opencode-en50128/tree/main/.opencode/skills/en50128-design
Command: npx skills add https://github.com/norechang/opencode-en50128 --skill en50128-design

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provide clear guidance and patterns to design EN 50128-compliant C software using MISRA C:2012, helping teams build safer, auditable railway software.

Core Features & Use Cases

  • MISRA C:2012-aligned design patterns for EN 50128 Section 7.3.
  • Defensive programming and modular design to meet SIL requirements.
  • Use case: When starting a new SAS/SDS for a C module, apply patterns to ensure low coupling, high cohesion, and clear interfaces.

Quick Start

Review the EN 50128 design guidance and apply the patterns to your C module design to ensure MISRA C:2012 compliance and robust modular interfaces.

Frequently Asked Questions about en50128-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design MISRA C:2012 compliant software for EN 50128 railway applications?

EN 50128 design patterns for MISRA C:2012 software enforce modularity, static memory allocation, and traceability per Table A.3. Apply these patterns during module design to ensure low coupling, high cohesion, and robust interfaces for SIL-compliant railway software.

What defensive programming patterns are required for EN 50128 SIL compliance in C?

Defensive programming patterns for EN 50128 SIL compliance focus on modular design, static memory allocation, and clear interface definitions. These patterns target Section 7.3 requirements to build auditable, robust C software for railway-grade safety systems.

How do I structure a C software architecture review for railway safety-critical systems?

Structure C software architecture reviews for railway safety-critical systems by applying EN 50128 design patterns to verify low coupling, high cohesion, and MISRA C:2012 compliance. Review module designs against Table A.3 requirements for traceability and defensive programming.

Can I use dynamic memory allocation in EN 50128 compliant C modules?

EN 50128 compliant C modules enforce static memory allocation rather than dynamic allocation. The design patterns restrict memory management to meet SIL requirements and ensure predictable, auditable behavior in railway safety-critical software.

What is the best way to define module interfaces for EN 50128 safety-critical software?

Define module interfaces for EN 50128 safety-critical software using MISRA C:2012-aligned design patterns that ensure low coupling and high cohesion. Apply defensive programming and modular design principles to create clear, auditable interface definitions.

Does EN 50128 require traceability for C software module design in railway projects?

EN 50128 requires traceability for C software module design per Table A.3. Apply design patterns that enforce traceability alongside modularity and defensive programming to meet SIL requirements and produce auditable railway software documentation.