Derived component diagram with provided and required interfaces

Abierto
#367 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
javascript, rust, yaml
Área
backend, design

Línea de trabajo

Start with the diagram-generation design in #334 and the existing IBD rendering for ports and connections. Trace how PortDef, InterfaceDef, direction, and conjugation are represented, then add tests for the provider-consumer diagram, unmatched socket warning, and unchanged IBD. Done means the tests show a joined lollipop and socket with the interface name, a warning for an unmatched required socket, and no IBD change.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Part of #363 (item 5).

Current state

Ports carry direction, isConjugated and conjugates (a PortDef and its conjugate), and the IBD draws ports as squares with a direction fill. There is no component-style view with provided and required interfaces.

Proposal

A derived Component diagram (diagramKind: Component, subject a part or package): each part is a component box; a port typed by a PortDef/InterfaceDef that the part provides is drawn as a lollipop, one that it requires (the conjugated side) as a socket; a connection joins a lollipop to a socket and the interface name labels it. Provided/required is derived from conjugation and direction, not stored. Parts are grouped by domain or package (see the diagram-generation design, #334). Operations of the interface (A) can be listed on request.

Acceptance (tests first)

  • A model with a provider and a consumer of one interface shows lollipop and socket joined; an unmatched socket (required, nothing provides) is a warning.
  • The same data in the IBD is unchanged.

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de sjames/syscribe

Todos los issues de sjames/syscribe

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.