Timing and resource budgets: periods, priorities, deadlines, memory, with roll-up checks and a `budgets` report
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, rust, yaml
Línea de trabajo
Start by reading the existing wcet and quantities handling, the W893 budget checks, and the validate command. The proposal spans model fields, roll-up validation, schedulability and latency checks, a budgets report, and requirement links; the acceptance criteria define the expected capacity and utilization results. The issue leaves scheduling and measurement sources open, so the design needs resolution before implementation.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Part of #363 (item 7).
Current state
wcet: (free text) and quantities: ({kind: ftti|latency|wcet|reaction, value, unit}) exist; budgets on them are checked (W893). Periods, priorities, deadlines and memory budgets are not modelled, so a statement such as "the fastest control task uses at most 70 % of the CPU and RAM and flash at most 80 %" (REQ-GTI-SYS-072 in the grid-tie model, and the MCU decision ADR-GTI-MCU-001) is prose that nothing can check.
Proposal
- Fields on tasks and parts.
period,deadline,priority,wcet(structured, with units),stack, and static memoryram,flash,nvmon software parts/tasks; capacities on the hardware element they are allocated to (cpuMipsor clock,ramKb,flashKb). - Roll-up checks in
validate(opt-in once capacities exist): sum ofram/flash/stackof everything allocated to an element against its capacity with a configurable margin (default from a requirement or a project setting); CPU utilisation fromwcet/periodper core with a schedulability bound (rate-monotonic or the utilisation bound, configurable);wcetgreater thandeadline; end-to-end latency along a chain of tasks against alatencyquantity. - Report.
syscribe budgets [--config C] [--json]: per hardware element and core, used versus capacity, margin, and the largest contributors. - Link to requirements: a margin requirement can be checked by a budget (
verificationMethod: analysiswith a budget reference).
Acceptance (tests first)
- Adding a part that exceeds RAM capacity makes
validatefail with the contributors named; at 79 % versus an 80 % margin it passes. - Utilisation above the bound is reported with the task list.
- Grid-tie model:
REQ-GTI-SYS-072becomes a checked budget on the STM32G474.
Open questions
- Multicore and interrupt-level scheduling models (start with fixed-priority preemptive on one core).
- Where measured values come from (static analysis output ingested like test results).
Part of #272 (executable MBSE / software design).
Generated by Claude Code
- Lenguaje dominante
- Rust
- Estrellas
- 8
- Forks
- 1
- Merge medio
- 3 h 35 min
- PR fusionados (30 d)
- 69
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de sjames/syscribe
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
sjames/syscribe#411 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Format-preserving writes for structural frontmatter (features, connections, layout, shapes, edges)Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
sjames/syscribe#405 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
Todos los issues de sjames/syscribe
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
quarto-dev/q2#1155 ·
Los mantenedores suelen responder en 1 día
-
backlog priority: low ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
storytold/vectorcraft#6445 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area: cli kind:docs priority: P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
tursodatabase/libsql#2312 ·
Los mantenedores suelen responder en 11 días
-
`NodeOwned::size_in_bytes` does not count the `ChildrenNodesOwned` heap allocation (since #216)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
paritytech/trie#251 ·
Los mantenedores suelen responder en 1 día