El lenguaje de modelado del ciclo de vida (LML) es un lenguaje de modelado de estándar abierto diseñado para la ingeniería de sistemas . Admite el ciclo de vida completo : etapas conceptuales, de utilización, de soporte y de retiro. Junto con la integración de todas las disciplinas del ciclo de vida, incluidas la gestión de programas , la ingeniería de sistemas y diseño , la verificación y validación , la implementación y el mantenimiento en un solo marco. [1] LML fue diseñado originalmente por el comité directivo de LML. La especificación se publicó el 17 de octubre de 2013.
Se trata de un lenguaje de modelado como UML y SysML que admite usos adicionales de la gestión de proyectos, como el análisis de riesgos y la programación. LML utiliza un lenguaje común para definir sus elementos de modelado, como entidad, atributo, programación, costo y relación. [2]
LML comunica costos, cronogramas y desempeño a todas las partes interesadas en el ciclo de vida del sistema. LML combina los constructos lógicos con una ontología para capturar información. SysML es principalmente constructos y tiene una ontología limitada, mientras que DoDAF MetaModel 2.0 (DM2) solo tiene una ontología. En cambio, LML simplifica tanto los constructos como la ontología para hacerlos más completos, pero aún más fáciles de usar. Solo hay 12 clases de entidad primarias. Casi todas las clases se relacionan entre sí y consigo mismas con palabras consistentes, es decir, Asset realiza Action. Action realizada por Asset. [3] SysML utiliza diseño orientado a objetos, porque fue diseñado para relacionar el pensamiento sistémico con el desarrollo de software. Ninguna otra disciplina en el ciclo de vida utiliza diseño y análisis orientados a objetos de manera extensiva. LML captura todo el ciclo de vida desde la cuna hasta la tumba. [1]
Los ingenieros de sistemas han identificado la complejidad como un problema importante. [3] LML es un nuevo enfoque para analizar, planificar, especificar, diseñar, construir y mantener sistemas modernos. LML se centra en estos 6 objetivos: 1. Ser fácil de entender 2. Ser fácil de extender 3. Admitir enfoques tanto funcionales como orientados a objetos dentro del mismo diseño 4. Ser un lenguaje que pueda ser comprendido por la mayoría de las partes interesadas del sistema, no solo por los ingenieros de sistemas 5. Admitir sistemas desde el principio hasta el fin 6. Admitir cambios tanto evolutivos como revolucionarios en los planes y diseños de sistemas durante la vida útil de un sistema [1]
El Comité Directivo de LML se formó en febrero de 2013 para revisar un borrador propuesto de ontología y un conjunto de diagramas que forman la especificación LML. Los colaboradores de muchas organizaciones académicas y comerciales proporcionaron aportes directos a la especificación, lo que resultó en su publicación en octubre de 2013. Se realizaron presentaciones y tutoriales en la Conferencia de Ingeniería de Sistemas de la Asociación Industrial de Defensa Nacional (NDIA) (octubre de 2013) y en la Ingeniería de Sistemas en DC (SEDC) en abril de 2014. El Dr. Steven H. Dam, de SPEC Innovations, desarrolló un predecesor de LML como parte de una metodología llamada Análisis y Diseño Basados en el Conocimiento (KBAD). La parte de ontología fue la creación de prototipos en una herramienta de base de datos de ingeniería de sistemas. Las ideas sobre cómo implementarla mejor y el desarrollo de diagramas LML clave (Acción y Activo) fueron parte del desarrollo de su producto Innoslate desde 2009 hasta la actualidad. [4]
Las ontologías proporcionan un conjunto de términos definidos y relaciones entre los términos para capturar la información que describe los aspectos físicos, funcionales, de rendimiento y programáticos del sistema. Las formas comunes de describir dichas ontologías son "Entidad", "Relación" y "Atributo" (ERA). ERA se utiliza a menudo para definir esquemas de bases de datos. LML extiende el esquema ERA con "Atributos en relación", una característica que puede reducir la cantidad de "Relaciones" requeridas, de la misma manera que "Atributo" reduce la cantidad de "Entidades" requeridas en ERA. En consonancia con el primer objetivo de LML, "Entidad", "Relación", "Atributo" y "Atributo en relación" tienen elementos equivalentes en inglés: sustantivo , verbo , adjetivo y adverbio . [1]
Entidad (sustantivo) Una entidad se define como algo que es identificable de forma única y puede existir por sí mismo. Solo hay 12 entidades principales en LML: Acción, Artefacto, Activo, Característica, Conexión, Costo, Decisión, Entrada/Salida, Ubicación, Riesgo, Declaración y Tiempo. Se han definido varias entidades secundarias para capturar la información que necesitan las partes interesadas. Las entidades secundarias tienen los atributos y las relaciones de las entidades principales más atributos y relaciones adicionales que las hacen únicas. Las entidades secundarias incluyen: Conducto (secundario de Conexión), Lógico (secundario de Conexión), Medida (secundario de Característica), Orbital (secundario de Ubicación), Físico (secundario de Ubicación), Requisito (secundario de Declaración), Recurso (secundario de Activo) y Virtual (secundario de Ubicación). Cada entidad tiene un nombre o número o atributo de descripción o una combinación de los tres para identificarla de forma única. El nombre es una palabra o una pequeña colección de palabras que proporciona una descripción general de la información sobre la entidad. El número proporciona una forma numérica de identificar la entidad. La descripción proporciona más detalles sobre esa entidad. [1]
Atributo (adjetivo) Los atributos funcionan de la misma manera que un adjetivo. Las entidades (los sustantivos) pueden tener nombres, números y atributos de descripción. La característica o cualidad inherente de una entidad es un atributo. Cada atributo tiene un nombre que lo identifica de manera única dentro de una entidad. Los nombres de los atributos son únicos dentro de una entidad, pero pueden usarse en otras entidades. El nombre proporciona una descripción general de la información sobre el atributo. El tipo de datos del atributo especifica los datos asociados con el atributo. [1]
Relación (verbo) La relación funciona de la misma manera que un verbo conecta sustantivos o, en este caso, entidades. Las relaciones permiten un método simple para ver cómo se conectan [entidades]. Por ejemplo, al conectar una acción a una declaración, LML usa “trazado desde” como la relación: una Acción se traza desde una Declaración. La relación inversa de trazado desde es “trazado hasta”. Las relaciones se definen en ambas direcciones y tienen nombres únicos con el mismo verbo. La relación estándar padre-hijo se descompone por y su inversa es descompone. Los nombres de las relaciones son únicos en todo el esquema. [1]
Atributos en las relaciones (adverbio) El modelado ERA clásico no incluye "atributos en las relaciones", pero sí está incluido en LML. En términos del idioma inglés, un "atributo en una relación" es como un adverbio que ayuda a describir la relación. De manera análoga a la forma en que los atributos se relacionan con las entidades, el "atributo en una relación" tiene un nombre que es exclusivo de su relación, pero no necesita ser exclusivo de otras relaciones. [1]