de_DEen_USes_ESfa_IRfr_FRhi_INid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

El Lenguaje de Modelado de Sistemas versión 2 (SysML v2) marca un cambio masivo en la ingeniería de sistemas. Al alejarse de las rígidas restricciones gráficas basadas en UML de SysML v1, SysML v2 introduce una sintaxis textual impulsada por el lenguaje. Esta sintaxis trata la estructura, el comportamiento, los requisitos y el análisis como elementos de texto profundamente integrados.

Esta guía completa desglosa los pilares fundamentales, conceptos y sintaxis de SysML v2 utilizando un ejemplo concreto de AutonomousDrone ejemplo de diseño.

The core pillars, concepts, and syntax of SysML v2 using a concrete AutonomousDrone example


1. El paradigma fundamental: Definiciones frente a usos

El concepto arquitectónico más importante en SysML v2 es la separación estricta entre Definiciones (bocetos) y Usos (instancias contextuales).

  • El def palabra clave: Indica una definición reutilizable, tipo o boceto de elemento. No existe como un objeto físico hasta que se utiliza.

  • Sin def palabra clave: Indica un uso. Representa una ocurrencia real o instancia de componente dentro de un sistema padre específico.

// DEFINICIÓN: Un boceto reutilizable para cualquier batería
part def Battery;

// USO: Una instancia específica de una batería dentro de nuestro sistema de dron
part powerSource : Battery;

Esta distinción permite a los ingenieros definir un componente una vez y reutilizarlo en múltiples subsistemas con nombres, configuraciones e interconexiones internas diferentes.


2. Arquitectura estructural: Partes, Elementos e Interfaces

SysML v2 divide las arquitecturas físicas o lógicas en componentes, las cosas que fluyen a través de ellos y las interfaces que los conectan.

Partes y Elementos

  • part def (Bloque / Componente): Define un componente estructural, físico o lógico del sistema.

  • item def (Elemento de flujo): Define elementos no fijos, como flujos de datos, fluidos, fuerza o electricidad, que fluyen entre partes.

Puertos e Interfaces

  • puerto def (Especificación de interfaz): Define un límite de interfaz, indicando explícitamente qué datos o elementos pueden entrar (entrada) o salir (salida).

Este es el modo en que se declaran y anidan estos componentes dentro de un espacio de nombres del sistema:

paquete DroneSystemExample {
    privado importar ScalarValues::*;
    privado importar SI::*;

    // Plantillas base (definiciones)
    elemento def Potencia; 

    puerto def PuertoSalidaPotencia {
        salida elemento potenciaElec : Potencia;
    }
    
    puerto def PuertoEntradaPotencia {
        entrada elemento potenciaElec : Potencia;
    }

    parte def ControladorVuelo;
    parte def SistemaPropulsion;
    parte def Batería;

    // Contexto del sistema integrado
    parte def DroneAutónomo {
        // Atributos / propiedades de valor
        atributo autonomíaActual : Real;

        // Uso de subpartes (instanciando las definiciones)
        parte controladorVuelo : ControladorVuelo;
        parte sistemaPropulsion : SistemaPropulsion;
        parte fuentePotencia : Batería;

        // Uso de puertos (instanciando las interfaces)
        puerto pBateríaSalida : PuertoSalidaPotencia;
        puerto pPropulsiónEntrada : PuertoEntradaPotencia; 
    }
}


3. El pilar de los requisitos (espacio del problema)

En SysML v1, los requisitos eran a menudo bloques de texto aislados de las matemáticas de ingeniería. En SysML v2, los requisitos son definiciones de texto de primera clase que contienen metadatos, texto descriptivo y atributos fuertemente tipados para verificación automatizada.

requisito def RangoRequisito {
    doc /* El dron debe mantener una autonomía de vuelo continua de al menos 45 minutos. */
    atributo autonomíaObjetivo : Real = 45.0; 
}

Rastreabilidad con satisfacer

Para cerrar el bucle entre el espacio del problema (requisitos) y el espacio de la solución (estructura), SysML v2 utiliza palabras clave de relación explícitas como satisfacer directamente dentro del contexto de la parte:

parte def DroneAutónomo {
    // Instancia un uso de requisito para satisfacer el mapeo de definición de forma limpia
    satisface requisito : RangoRequisito;
}


4. El pilar de comportamiento (espacio de ejecución)

SysML v1 obligaba a una separación clara entre estructura (diagramas de bloques internos) y comportamiento (diagramas de actividad). SysML v2 elimina completamente esta barrera al hacer que acciones y flujos de control elementos estructurales nativos y dentro del alcance.

Acciones secuenciales y flujo de control

Usando el acciónpalabra clave, puedes declarar funciones que aceptan entradas (en) y pasan salidas (sal). Los flujos de control se escriben de forma lineal usando la entonces palabra clave, eliminando la necesidad de diagramas de flujo de control complejos.

acción ejecutarMisión {
    en coordenadasObjetivo;
    sal estadoMisión;
    
    acción sDespegar;
    entonces acción sNavegar;
    entonces acción aterrizar;
}


5. Asignación funcional: Conectando el comportamiento con la estructura

Asignación responde la pregunta fundamental de la ingeniería de sistemas: ¿Qué componente realiza qué función?

SysML v2 maneja esto de forma limpia usando la realizar palabra clave dentro de un bloque de uso de parte. Usando notación de punto (.), puedes acceder profundamente a bucles de acción anidados para mapear operaciones directamente al hardware físico.

parte def DroneAutónomo {

    // Las sub-partes asignan comportamiento mediante la realización explícita de sus pasos asignados
    parte controlVuelo : ControlVuelo {
        realizar ejecutarMisión.sNavegar;
    }
    
    parte sistemaPropulsión : SistemaPropulsión {
        realizar ejecutarMisión.sDespegar;
    }

    // Definición de comportamiento incrustado
    acción ejecutarMisión {
        acción sDespegar;
        entonces acción sNavegar;
        entonces acción aterrizar;
    }
}


 

Resumen de palabras clave principales

Palabra clave Espacio Propósito
paquete Estructural Define un contenedor de espacio de nombres para organizar tu modelo.
importación privada Estructural Trae bibliotecas estándar externas (como Valores escalares o SI unidades) dentro del alcance sin que se filtren hacia abajo.
def Paradigma Denota una plantilla reutilizable o una definición de tipo.
parte / elemento Estructural Declara un componente físico/lógico o un flujo de fluido/datos que circula por el sistema.
puerto Estructural Establece un límite de interfaz que define entrada y salida flujos.
requisito Problema Define un contrato basado en texto que contiene atributos tipados y objetivos matemáticos.
satisfacer Relación Conecta un elemento estructural directamente al requisito que cumple.
acción Ejecución Define un paso comportamental o una función operativa.
entonces Ejecución Forza el orden de ejecución secuencial entre acciones.
realizar Asignación Asigna una acción comportamental directamente a la parte física responsable de ejecutarla.

 

Ejemplo completo de SysML V2: Los tres pilares

paquete DroneSystemExample {

privado importar ScalarValues::*;

privado importar SI::*;

// ==========================================

// DEFINICIONES DE PLANTILLA BASE

// ==========================================

elemento def Potencia;

puerto def PuertoSalidaPotencia {

salida elemento potenciaElec : Potencia;

}

puerto def PuertoEntradaPotencia {

entrada elemento powerElec : Potencia;

}

parte def ControladorDeVuelo;

parte def SistemaDePropulsion;

parte def Batería;

// ==========================================

// 1. PILAR DE REQUISITOS (Espacio de Problemas)

// ==========================================

requisito def RequisitoAlcance {

doc /* El dron debe mantener una autonomía de vuelo continua de al menos 45 minutos. */

atributo objetivoAutonomia : Real = 45.0;

}

// ==========================================

// 2. PILARES DE ESTRUCTURA Y COMPORTAMIENTO

// ==========================================

parte def DroneAutónomo {

atributo enduranceActual : Real;

// Las subpartes asignan comportamiento mediante la ejecución explícita de sus pasos asignados

parte flightController : FlightController {

realizar executeMission.sNavigate;

}

parte sistemaDePropulsion : SistemaDePropulsion {

realizar executeMission.sTakeoff;

}

parte fuenteDeEnergía : Batería;

// Conexiones de interfaz

puerto pBateriaSalida : PuertoSalidaPotencia;

puerto pPropulsionEntrada : PuertoEntradaPotencia;

// CORRECCIÓN 1: Instancia un uso de requisito para satisfacer el mapeo de definición de forma limpia

satisfacer requisito : RequisitoAlcance;

// ==========================================

// 3. PILAR DE COMPORTAMIENTO (Espacio de Ejecución)

// ==========================================

// Definiciones de acciones secuenciales y limpias nativamente en ámbito

acción executeMission {

en coordenadasObjetivo;

fuera estadoMision;

acción sDespegue;

entonces acción sNavegación;

entonces acción sAterrizaje;

}

}

}