El lenguaje de modelado de sistemas ( SysML ) [1] es un lenguaje de modelado de propósito general para aplicaciones de ingeniería de sistemas . Apoya la especificación, análisis , diseño , verificación y validación de una amplia gama de sistemas y sistemas de sistemas .
SysML fue desarrollado originalmente por un proyecto de especificación de código abierto e incluye una licencia de código abierto para su distribución y uso. [2] SysML se define como una extensión de un subconjunto del Lenguaje de Modelado Unificado (UML) que utiliza el mecanismo de perfil de UML . Las extensiones del lenguaje fueron diseñadas para respaldar las actividades de ingeniería de sistemas.
SysML ofrece varias mejoras específicas de ingeniería de sistemas con respecto a UML , que se desarrolló como lenguaje de modelado de software. Estas mejoras incluyen lo siguiente:
SysML reutiliza siete de los catorce tipos de diagramas " nominativos " de UML 2 [4] y añade dos diagramas (diagramas de requisitos y paramétricos) para un total de nueve tipos de diagramas. SysML también admite tablas de asignación, un formato tabular que se puede derivar dinámicamente de las relaciones de asignación de SysML. En las Preguntas frecuentes de SysML se encuentra disponible una tabla que compara los diagramas de SysML y UML 2.
Consideremos el modelado de un sistema automotriz: con SysML se pueden usar diagramas de requisitos para capturar de manera eficiente los requisitos funcionales, de rendimiento y de interfaz, mientras que con UML uno está sujeto a las limitaciones de los diagramas de casos de uso para definir requisitos funcionales de alto nivel. De la misma manera, con SysML se pueden usar diagramas paramétricos para definir con precisión el rendimiento y las restricciones cuantitativas como la aceleración máxima , el peso mínimo en vacío y la capacidad total del aire acondicionado . UML no proporciona un mecanismo sencillo para capturar este tipo de información cuantitativa y de rendimiento esencial.
En lo que respecta al resto del sistema automotriz, se pueden utilizar diagramas de actividad mejorados y diagramas de máquina de estados para especificar la lógica de control del software integrado y los flujos de información para las computadoras de a bordo del automóvil. Se pueden utilizar otros diagramas estructurales y de comportamiento de SysML para modelar las fábricas que construyen los automóviles, así como las interfaces entre las organizaciones que trabajan en las fábricas.
La iniciativa SysML se originó en una decisión tomada en enero de 2001 por el grupo de trabajo de Diseño de Sistemas Impulsados por Modelos del Consejo Internacional de Ingeniería de Sistemas (INCOSE) para personalizar el UML para aplicaciones de ingeniería de sistemas. A raíz de esta decisión, INCOSE y el Object Management Group (OMG), que mantiene la especificación UML, constituyeron conjuntamente el Systems Engineering Domain Special Interest Group (SE DSIG) de OMG en julio de 2001. El SE DSIG, con el apoyo de INCOSE y el grupo de trabajo ISO AP 233 , desarrolló los requisitos para el lenguaje de modelado, que posteriormente fueron publicados por el grupo OMG en la Solicitud de Propuesta de UML para Ingeniería de Sistemas (UML para SE RFP; documento OMG ad/03-03-41) en marzo de 2003. [5]
En 2003, David Oliver y Sanford Friedenthal de INCOSE solicitaron que Cris Kobryn , quien dirigió con éxito los equipos de diseño de lenguaje UML 1 y UML 2, liderara su esfuerzo conjunto para responder a la RFP de UML para SE. [6] Como presidente de SysML Partners, Kobryn acuñó el nombre de lenguaje "SysML" (abreviatura de "Systems Modeling Language"), diseñó el logotipo original de SysML y organizó el equipo de diseño de lenguaje SysML como un proyecto de especificación de código abierto. [7] Friedenthal se desempeñó como vicepresidente y ayudó a organizar el equipo original de SysML Partners.
En enero de 2005, los socios de SysML publicaron el borrador de la especificación SysML v0.9. Más tarde, en agosto de 2005, Friedenthal y otros socios originales de SysML se marcharon para formar un equipo de presentación de SysML (SST) competidor. [6] Los socios de SysML publicaron la especificación SysML v1.0 Alpha en noviembre de 2005.
Después de una serie de propuestas de especificación SysML en competencia, en abril de 2006 se propuso un Equipo de Fusión SysML al OMG. [8] Esta propuesta fue votada y adoptada por el OMG en julio de 2006 como OMG SysML, para diferenciarla de la especificación de código abierto original de la que se derivó. Debido a que OMG SysML se deriva de SysML de código abierto, también incluye una licencia de código abierto para distribución y uso.
La especificación OMG SysML v. 1.0 fue publicada por la OMG como una Especificación Disponible en septiembre de 2007. [9] La versión actual de OMG SysML es v1.6, que fue publicada por la OMG en diciembre de 2019. [10] Además, SysML fue publicada por la Organización Internacional de Normalización (ISO) en 2017 como un Estándar Internacional (IS) completo, ISO/IEC 19514:2017 (Tecnología de la información - Lenguaje de modelado de sistemas de grupos de gestión de objetos). [11]
La OMG ha estado trabajando en la próxima generación de SysML y emitió una Solicitud de propuestas (RFP) para la versión 2 el 8 de diciembre de 2017, luego de su proceso de estandarización abierta. [12] [13] La especificación resultante, que incorporará mejoras del lenguaje a partir de la experiencia en la aplicación del lenguaje, incluirá un perfil UML, un metamodelo y un mapeo entre el perfil y el metamodelo. [12] En junio de 2018 se emitió una segunda RFP para una Interfaz de programación de aplicaciones (API) y una RFP de servicios SysML v2 . Su objetivo es mejorar la interoperabilidad de las herramientas de ingeniería de sistemas basadas en modelos .
SysML incluye 9 tipos de diagramas, algunos de los cuales están tomados de UML .
Existen varios proveedores de herramientas de modelado que ofrecen compatibilidad con SysML. Se pueden encontrar listas de proveedores de herramientas que admiten SysML u OMG SysML en los sitios web del foro SysML [14] o SysML [15] , respectivamente.
Como perfil OMG UML 2.0 , los modelos SysML están diseñados para intercambiarse mediante el estándar XML Metadata Interchange (XMI). Además, se está trabajando en la alineación arquitectónica para respaldar el estándar AP-233 ISO 10303 (también conocido como STEP, el estándar para el intercambio de datos de modelos de productos) para intercambiar y compartir información entre herramientas y aplicaciones de software de ingeniería de sistemas .