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
Introduzca este comando en la ventana de comandos de MATLAB®.
systemcomposer
La página de inicio de Simulink® se abre en System Composer.
Haga clic en Architecture Model.
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.
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.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.
Haga clic en un bloque Component y arrástrelo
desde la paleta del lado izquierdo.
Modifique el nombre del componente a
Sensors
.Siga estos pasos para crear componentes
Trajectory Planning
yMotion
.
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.
Cree un puerto de salida en la parte inferior del componente Sensors. Modifique el nombre a SensorData.
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.Deténgase en la esquina de la línea SensorData hasta que vea el icono de rama
. Haga clic con el botón secundario y arrastre una línea de rama al componente
Trajectory Planning
.Complete las conexiones como se muestra en esta figura.
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.
Haga clic en el extremo izquierdo del modelo de arquitectura e introduzca el nombre de puerto TargetPosition.
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.
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
Para abrir Interface Editor, vaya a Modeling > Interface Editor.
Haga clic en el botón
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.
Haga clic en el puerto de salida SensorData en el componente
Sensors
. En Interface Editor, haga clic con el botón secundario ensensordata
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.Añada un elemento de datos a la interfaz de datos seleccionada. Haga clic en el botón
para añadir un elemento de datos y asígnele el nombre
timestamp
.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.
Nombre Tipo Unidades timestamp
double
seconds
direction1
double
degrees
direction2
double
degrees
distance1
double
meters
distance2
double
meters
position1
double
degrees
position2
double
degrees
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
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 comoRobotDD
.
Descomponer componentes
Cada componente puede tener su propia arquitectura. Haga doble clic en un componente para descomponerlo en subcomponentes.
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.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.Añada componentes
Motion Control
ySafety Rules
como parte de la arquitecturaTrajectory Planning
.Arrastre el puerto TargetPosition al componente
Motion Control
. Añada un puerto de salida Command aMotion Control
y, a continuación, arrastre una línea al componenteSafety Rules
. Arrastre líneas desde el puerto SensorData a los componentesMotion Control
ySafety Rules
.
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).
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.