Contenido principal

Crear un modelo de arquitectura con interfaces y enlaces de requisitos

En este tema, aprenderá a crear un modelo de arquitectura de un brazo robótico con System Composer™, definir interfaces en puertos y añadir enlaces de requisitos a componentes.

Aprenderá a:

  • Iniciar System Composer.

  • Añadir componentes de arquitectura para representar sensores de brazos robóticos, la planificación de trayectorias y su movimiento.

  • Crear puertos y conexiones para representar el intercambio de datos.

  • Definir interfaces de datos para representar la estructura de los datos.

  • Gestionar enlaces de requisitos para representar conexiones a requisitos desde elementos del modelo.

Se requiere una licencia de Requirements Toolbox™ para enlazar y gestionar requisitos, y realizar su seguimiento en System Composer.

Para obtener más información sobre el flujo de trabajo de ingeniería de sistemas basada en modelos dentro de System Composer, consulte Componer y analizar sistemas usando modelos de arquitectura.

Representar visualmente el sistema

La implementación de un diseño de arquitectura comienza representando visualmente el sistema con componentes y sus conexiones. Cree un modelo de arquitectura, represente los componentes del sistema y realice conexiones entre ellos.

Crear un modelo de arquitectura

  1. Introduzca este comando en la ventana de comandos de MATLAB®.

    systemcomposer

    La página de inicio de Simulink® se abre en System Composer.

  2. Haga clic en Architecture Model.

    Accessing a new System Composer architecture model from the Simulink start page.

    System Composer proporciona modelos de arquitectura a modo de plantilla que abordan distintos dominios en la ingeniería de sistemas y el modelado de arquitectura de software: Architecture Model y Software Architecture Model. Todos los modelos de arquitectura proporcionan las mismas capacidades estructurales con algunas restricciones específicas en dominios y plataformas. Para obtener más información sobre las plantillas de arquitectura, consulte Choose Architecture Template for System Design.

    Se abre una nueva área de diseño en blanco. Puede identificar un modelo de arquitectura por la insignia situada en la esquina inferior izquierda y la paleta de componentes del lado izquierdo.

    A new untitled architecture model in System Composer.

  3. Haga doble clic en el encabezado del modelo de arquitectura y cambie untitled a un nombre de modelo descriptivo; por ejemplo, RobotDesign. El nombre del modelo suele reflejar el sistema cuya arquitectura está creando.

    Renamed architecture model called 'Robot'.

  4. Guarde el modelo.

Dibujar componentes

Diseñe un brazo robótico móvil con un sensor que detecte la posición y una planificación de trayectorias que calcule la ruta a una ubicación que el robot deba alcanzar usando el movimiento. El modelo de arquitectura de este tipo de sistema podría constar de tres componentes principales: Sensors, Trajectory Planning y Motion. Puede representar estos componentes en System Composer utilizando tres bloques Component.

  1. Haga clic en un bloque Component y arrástrelo component block icon desde la paleta del lado izquierdo.

    Click and drag a component from the left-side palette to add it to the architecture model.

  2. Modifique el nombre del componente a Sensors.

  3. Siga estos pasos para crear componentes Trajectory Planning y Motion.

    An architecture model called 'Robot' with three components

Crear puertos y conexiones

Puede comenzar a crear conexiones entre los componentes describiendo el flujo de potencia, energía, datos o cualquier otra información representativa. Cree puertos en los componentes que proporcionen o consuman información y conectores que unan dos puertos de componentes para representar el flujo de la información.

Puede añadir un puerto a un componente en cualquier lateral; el puerto puede tener dirección de entrada o de salida. Para crear un puerto, detenga el cursor sobre el lateral del componente. Haga clic y suelte el botón para ver las opciones de puertos. Seleccione Input, Output o Physical para crear un puerto. Modifique el nombre del puerto con un nombre que represente la información que fluye a través de ese puerto.

  1. Cree un puerto de salida en la parte inferior del componente Sensors. Modifique el nombre a SensorData.

    'Robot' architecture model with a downward facing output port below the 'Sensors' component called 'Sensor Data'.

  2. Haga clic y arrastre una línea desde el puerto de salida SensorData al componente Motion. Cuando aparezca un puerto de entrada en el lateral del componente, suelte el puntero. De forma predeterminada, este nuevo puerto tiene el mismo nombre que el puerto de origen.

  3. Deténgase en la esquina de la línea SensorData hasta que vea el icono de rama branch icon. Haga clic con el botón secundario y arrastre una línea de rama al componente Trajectory Planning.

    'Robot' architecture model with a 'Sensor Data' connection out-port from the 'Sensors' component connected to two in-ports into the 'Trajectory Planning' and 'Motion' components.

  4. Complete las conexiones como se muestra en esta figura.

    To the 'Robot' architecture model, add a 'Motion Command' connection from the 'Trajectory Planning' component to the 'Motion' component, and an 'Encoder' connection from the 'Motion' component to the 'Sensors' component.

El nivel de raíz del modelo de arquitectura también puede tener puertos que describen la interacción del sistema con su entorno. En este ejemplo, la posición objetivo del robot la proporciona un equipo externo al propio robot. Represente esta relación con un puerto de entrada.

  1. Haga clic en el extremo izquierdo del modelo de arquitectura e introduzca el nombre de puerto TargetPosition.

  2. Conecte un puerto de arquitectura a un componente arrastrando una línea desde el puerto de entrada TargetPosition al componente Trajectory Planning. Las conexiones hacia o desde un puerto de arquitectura aparecen como etiquetas.

    Final 'Robot' model has an architecture port connected from the 'Trajectory Planning' component to the 'Target Position' input port.

Editar interfaces de datos

Puede definir una interfaz de datos para especificar por completo una conexión y sus puertos asociados. Una interfaz de datos puede constar de múltiples elementos de datos con varias dimensiones, unidades y tipos de datos. Para comprobar la coherencia al conectar un puerto, también puede asociar interfaces con puertos sin conectar durante el diseño de componentes.

Especifique el flujo de información a través de un puerto entre componentes configurando la interfaz de datos con atributos. Una interfaz de datos puede ser tan simple como enviar un valor entero, o un conjunto de números, una enumeración, una combinación de números y cadenas, o un grupo de otras interfaces predefinidas.

Considere la interfaz de datos entre los componentes Sensors y Motion. Los datos de sensores constan de:

  • Datos de posición provenientes de dos motores

  • Datos de proximidad de obstáculos provenientes de dos sensores

  • Una marca de tiempo para capturar la actualidad de los datos

  1. Para abrir Interface Editor, vaya a Modeling > Interface Editor.

  2. Haga clic en el botón add interface para añadir una interfaz de datos. Asigne a la interfaz el nombre sensordata.

    La interfaz de datos se nombra y se define por separado del puerto del componente y, después, se asigna a un puerto.

  3. Haga clic en el puerto de salida SensorData en el componente Sensors. En Interface Editor, haga clic con el botón secundario en sensordata y seleccione Assign to Selected Port(s).

    Si hace clic de nuevo en sensordata, se resaltan los tres puertos SensorData, lo que indica que los puertos conectados están asociados a esa interfaz.

    Model with three 'Sensor Data' ports highlighted in purple.

  4. Añada un elemento de datos a la interfaz de datos seleccionada. Haga clic en el botón add data element para añadir un elemento de datos y asígnele el nombre timestamp.

  5. Siga añadiendo elementos de datos a la interfaz de datos de la forma especificada haciendo clic en el botón para añadir elementos de datos.

    NombreTipoUnidades
    timestampdoubleseconds
    direction1doubledegrees
    direction2doubledegrees
    distance1doublemeters
    distance2doublemeters
    position1doubledegrees
    position2doubledegrees
  6. Edite las propiedades de un elemento de datos en Interface Editor. Haga clic en la celda correspondiente al elemento de datos de la tabla y añada unidades como se muestra en la especificación.

    Haga clic en la lista desplegable junto al botón save to data dictionary para guardar la interfaz de datos en un diccionario de datos. Un diccionario de datos permite gestionar y compartir un conjunto de interfaces entre modelos. Por ejemplo, posteriormente durante el diseño, si decide modelar el equipo externo como modelo de arquitectura separado, este modelo y el modelo Robot podrán compartir el mismo diccionario de datos. En este caso, el diccionario se guarda como RobotDD.

    The Robot DD dictionary with interface named 'sensor data' and interface elements named 'time stamp', 'direction 1', direction 2', distance 1', distance 2', 'position 1', and 'position 2.

Descomponer componentes

Cada componente puede tener su propia arquitectura. Haga doble clic en un componente para descomponerlo en subcomponentes.

  1. Haga doble clic en el componente Trajectory Planning. La barra de navegación y Model Browser indican la posición del componente en la jerarquía del modelo.

    The inside of the 'Trajectory Planning' component shows three architecture ports called 'Target Position, 'Sensor Data', and 'Motion Command'.

    Este componente utiliza primero los datos de posición del motor que forman parte de la interfaz sensordata para calcular el comando ideal de posición y velocidad. Después, procesa la información de distancia a los obstáculos en la misma interfaz para condicionar este comando según algunas reglas de seguridad.

  2. Añada componentes Motion Control y Safety Rules como parte de la arquitectura Trajectory Planning.

    Arrastre el puerto TargetPosition al componente Motion Control. Añada un puerto de salida Command a Motion Control y, a continuación, arrastre una línea al componente Safety Rules. Arrastre líneas desde el puerto SensorData a los componentes Motion Control y Safety Rules.

    Port connections for the 'Trajectory Planning' component.

Modelo de arquitectura de un brazo robótico

Abra el modelo de arquitectura de un brazo robótico que consta de sensores, actuadores de movimiento y un algoritmo de planificación. Puede utilizar System Composer para ver interfaces y gestionar requisitos del modelo.

Gestionar enlaces de requisitos

Los requisitos son parte integral del proceso de ingeniería de sistemas. Algunos requisitos están relacionados con la funcionalidad del sistema global y otros, con aspectos del rendimiento como la potencia, el tamaño y el peso. Descomponer los requisitos de alto nivel en requisitos de bajo nivel y derivar requisitos adicionales es fundamental para definir la arquitectura del sistema global. Por ejemplo, el consumo total de energía del robot determina el requisito de consumo de energía del controlador del robot.

Para asignar y realizar trazabilidad de requisitos con elementos del sistema, System Composer se integra completamente con Requirements Toolbox. Para derivar los requisitos apropiados, en ocasiones es necesario analizar y especificar propiedades (como la potencia) para elementos del sistema, componentes, puertos o conectores. Por ejemplo, si el coste total del sistema supone un problema, es necesaria una propiedad unitPrice.

Gestione requisitos desde Requirements Perspective en System Composer con Requirements Toolbox. Vaya a Apps > Requirements Manager. Para obtener más información, consulte View and Link Requirements in Simulink (Requirements Toolbox).

Requirements perspective showing requirement list and requirement links on components in the model.

Para mejorar la trazabilidad de los requisitos, enlace los requisitos a componentes y puertos de arquitectura. Cuando hace clic en un componente desde Requirements Perspective, se resaltan los requisitos enlazados. En cambio, cuando hace clic en un requisito, se muestran los componentes enlazados. Para crear un enlace directamente, arrastre un requisito a un componente o puerto.

Consulte también

Temas