Un lenguaje de modelado es cualquier lenguaje artificial que se puede usar para expresar información o conocimiento o sistemas en una estructura que está definida por un conjunto consistente de reglas. Las reglas se utilizan para interpretar el significado de los componentes de la estructura.
Un lenguaje de modelado puede ser gráfico o textual.
Un ejemplo de un lenguaje de modelado gráfico y un lenguaje de modelado textual correspondiente es EXPRESS.
No todos los lenguajes de modelado son ejecutables, y para aquellos que lo son, su uso no significa necesariamente que ya no se requieran programadores. Por el contrario, los lenguajes de modelado ejecutables están destinados a amplificar la productividad de los programadores expertos, de modo que puedan abordar problemas más desafiantes, como la computación paralela y los sistemas distribuidos.
En la literatura aparece una gran cantidad de lenguajes de modelado.
Ejemplo de lenguajes de modelado gráfico en el campo de la informática, la gestión de proyectos y la ingeniería de sistemas:
Ejemplos de lenguajes de modelado gráfico en otros campos de la ciencia.
Los modelos de información también se pueden expresar en lenguajes naturales formalizados, como Gellish. Gellish tiene variantes de lenguaje natural como Gellish Formal English y Gellish Formal Dutch ( Gellish Formeel Nederlands ), etc. Gellish Formal English es un lenguaje de representación de información o lenguaje de modelado semántico que se define en el Diccionario-Taxonomía de Gellish English, que tiene la forma de a Taxonomía-Ontología (de manera similar para el holandés). Gellish Formal English no solo es adecuado para expresar conocimientos, requisitos y diccionarios, taxonomías y ontologías, sino también información sobre cosas individuales. Toda esa información se expresa en un solo idioma y por lo tanto se puede integrar toda, independientemente de si está almacenada en bases de datos centrales, distribuidas o federadas. Los modelos de información en Gellish Formal English consisten en colecciones de expresiones de Gellish Formal English, que utilizan términos de lenguaje natural y frases formalizadas. Por ejemplo, un modelo de información geográfica podría consistir en una serie de expresiones en inglés formal de Gellish, como:
- the Eiffel tower lt;is located ingt; Paris - Paris lt;is classified as agt; city
Considerando que los requisitos de información y los conocimientos se pueden expresar, por ejemplo, de la siguiente manera:
- tower lt;shall be located in agt; geographical area - city lt;is a kind ofgt; geographical area
Dichas expresiones en inglés formal de Gellish usan nombres de conceptos (como "ciudad") y frases que representan tipos de relación (como ⟨está ubicado en⟩ y ⟨está clasificado como a⟩) que deben seleccionarse del Diccionario-Taxonomía de Gellish English ( o de su propio diccionario de dominio). El diccionario-taxonomía de Gellish English permite la creación de modelos de información semánticamente ricos, porque el diccionario contiene más de 600 tipos de relaciones estándar y contiene definiciones de más de 40000 conceptos. Un modelo de información en Gellish puede expresar hechos o hacer afirmaciones, consultas y respuestas.
En el campo de la informática, han surgido recientemente tipos más específicos de lenguajes de modelado.
Los lenguajes de modelado algebraico (AML) son lenguajes de programación de alto nivel para describir y resolver problemas de alta complejidad para cálculos matemáticos a gran escala (es decir, problemas del tipo de optimización a gran escala). Una ventaja particular de AML como AIMMS, AMPL, GAMS, Mosel, OPL y OptimJ es la similitud de su sintaxis con la notación matemática de los problemas de optimización. Esto permite una definición muy concisa y legible de problemas en el dominio de la optimización, que está respaldada por ciertos elementos del lenguaje como conjuntos, índices, expresiones algebraicas, poderosas variables de índice disperso y manejo de datos, restricciones con nombres arbitrarios. La formulación algebraica de un modelo no contiene ninguna pista sobre cómo procesarlo.
Los lenguajes conductuales están diseñados para describir el comportamiento observable de sistemas complejos que constan de componentes que se ejecutan al mismo tiempo. Estos lenguajes se centran en la descripción de conceptos clave como: concurrencia, no determinismo, sincronización y comunicación. Los fundamentos semánticos de los lenguajes conductuales son el cálculo de procesos o el álgebra de procesos.
Un lenguaje de modelado específico de disciplina (DspM) se centra en los entregables afiliados a una etapa específica del ciclo de vida del desarrollo de software. Por lo tanto, dicho lenguaje ofrece un vocabulario, sintaxis y notación distintos para cada etapa, como descubrimiento, análisis, diseño, arquitectura, contracción, etc. Por ejemplo, para la fase de análisis de un proyecto, el modelador emplea una notación de análisis específica para entregar un diagrama de propuesta de análisis. Sin embargo, durante la fase de diseño, se utiliza la notación de diseño lógico para representar la relación entre las entidades de software. Además, las mejores prácticas del lenguaje de modelado específico de la disciplina no impide que los profesionales combinen las diversas notaciones en un solo diagrama.
El modelado específico de dominio (DSM) es una metodología de ingeniería de software para diseñar y desarrollar sistemas, con mayor frecuencia sistemas de TI como software de computadora. Implica el uso sistemático de un lenguaje gráfico de dominio específico (DSL) para representar las diversas facetas de un sistema. Los lenguajes DSM tienden a admitir abstracciones de nivel superior que los lenguajes de modelado de propósito general, por lo que requieren menos esfuerzo y menos detalles de bajo nivel para especificar un sistema determinado.
Un lenguaje de modelado específico del marco (FSML) es un tipo de lenguaje de modelado específico del dominio que está diseñado para un marco de aplicación orientado a objetos. Los FSML definen las abstracciones proporcionadas por el marco como conceptos de FSML y descomponen las abstracciones en características. Las características representan pasos u opciones de implementación.
Se puede configurar un concepto FSML seleccionando características y proporcionando valores para las características. Esta configuración de concepto representa cómo se debe implementar el concepto en el código. En otras palabras, la configuración del concepto describe cómo se debe completar el marco para crear la implementación del concepto.
Los datos enlazados y la ingeniería de ontologías requieren 'lenguajes anfitriones' para representar entidades y las relaciones entre ellas, restricciones entre las propiedades de entidades y relaciones, y atributos de metadatos. JSON-LD y RDF son dos lenguajes principales (y semánticamente casi equivalentes) en este contexto, principalmente porque admiten la reificación y contextualización de declaraciones, que son propiedades esenciales para respaldar la lógica de orden superior necesaria para razonar sobre modelos. La transformación del modelo es un ejemplo común de tal razonamiento.
Los lenguajes de modelado de objetos son lenguajes de modelado basados en un conjunto estandarizado de símbolos y formas de organizarlos para modelar (parte de) un diseño de software o sistema orientado a objetos.
Algunas organizaciones los utilizan ampliamente en combinación con una metodología de desarrollo de software para avanzar desde la especificación inicial hasta un plan de implementación y para comunicar ese plan a todo un equipo de desarrolladores y partes interesadas. Debido a que un lenguaje de modelado es visual y tiene un nivel de abstracción más alto que el código, el uso de modelos fomenta la generación de una visión compartida que puede prevenir problemas de interpretación diferente más adelante en el desarrollo. A menudo, se utilizan herramientas de modelado de software para construir estos modelos, que luego pueden ser capaces de traducirse automáticamente a código.
Virtual Reality Modeling Language (VRML), antes de 1995 conocido como Virtual Reality Markup Language, es un formato de archivo estándar para representar gráficos vectoriales interactivos tridimensionales (3D), diseñado especialmente teniendo en cuenta la World Wide Web.
Se aplican varios tipos de lenguajes de modelado en diferentes disciplinas, incluidas las ciencias de la computación, la gestión de la información, el modelado de procesos comerciales, la ingeniería de software y la ingeniería de sistemas. Los lenguajes de modelado se pueden utilizar para especificar:
Los lenguajes de modelado están destinados a ser utilizados para especificar sistemas con precisión, de modo que las partes interesadas (por ejemplo, clientes, operadores, analistas, diseñadores) puedan comprender mejor el sistema que se está modelando.
Los lenguajes de modelado más maduros son precisos, coherentes y ejecutables. Se espera que las técnicas informales de diagramación aplicadas con herramientas de dibujo produzcan representaciones pictóricas útiles de los requisitos, estructuras y comportamientos del sistema, que pueden ser útiles para la comunicación, el diseño y la resolución de problemas, pero no pueden usarse mediante programación. Sin embargo, se espera que los lenguajes de modelado ejecutables aplicados con el soporte de herramientas adecuado automaticen la verificación y validación del sistema, la simulación y la generación de código a partir de las mismas representaciones.
Una revisión de los lenguajes de modelado es esencial para poder asignar qué lenguajes son apropiados para diferentes configuraciones de modelado. En el término escenarios incluimos a las partes interesadas, el dominio y el conocimiento conectado. Evaluar la calidad del lenguaje es un medio que tiene como objetivo lograr mejores modelos.
Aquí la calidad del lenguaje se establece de acuerdo con el marco SEQUAL para la calidad de los modelos desarrollado por Krogstie, Sindre y Lindland (2003), ya que se trata de un marco que conecta la calidad del lenguaje con un marco para la calidad general del modelo. En este marco se utilizan cinco áreas para describir la calidad del lenguaje y se supone que expresan tanto la notación conceptual como visual del lenguaje. No entraremos en una explicación detallada del marco de calidad subyacente de los modelos, sino que nos concentraremos en las áreas utilizadas para explicar el marco de calidad del lenguaje.
El marco establece la capacidad de representar el dominio como idoneidad del dominio. La adecuación de la declaración puede ser un poco vaga, pero en este contexto particular significa capaz de expresarse. Idealmente, solo debería poder expresar las cosas que están en el dominio, pero ser lo suficientemente poderosas como para incluir todo lo que está en el dominio. Este requisito puede parecer un poco estricto, pero el objetivo es obtener un modelo expresado visualmente que incluya todo lo relevante para el dominio y excluya todo lo que no sea apropiado para el dominio. Para lograr esto, el lenguaje debe tener una buena distinción de qué notaciones y sintaxis es conveniente presentar.
Para evaluar la idoneidad del participante, tratamos de identificar qué tan bien el lenguaje expresa el conocimiento que tienen los interesados. Esto implica desafíos, ya que el conocimiento de las partes interesadas es subjetivo. El conocimiento del interesado es tácito y explícito. Ambos tipos de conocimiento son de carácter dinámico. En este marco, solo se tiene en cuenta el tipo explícito de conocimiento. El lenguaje debe expresar en gran medida todo el conocimiento explícito de las partes interesadas relevantes para el dominio.
El último párrafo decía que el conocimiento de las partes interesadas debe presentarse de una buena manera. Además, es imperativo que el lenguaje pueda expresar todo el conocimiento explícito posible de las partes interesadas. Ningún conocimiento debe dejarse sin expresar debido a la falta del idioma.
La adecuación de la comprensibilidad asegura que los actores sociales comprendan el modelo debido a un uso consistente del lenguaje. Para lograr esto, el marco incluye un conjunto de criterios. La importancia general que estos expresan es que el idioma debe ser flexible, fácil de organizar y fácil de distinguir las diferentes partes del idioma internamente, así como de otros idiomas. Además de esto, el objetivo debe ser lo más simple posible y que cada símbolo en el idioma tenga una representación única.
Esto también está relacionado con la estructura de los requisitos de desarrollo..
Para garantizar que el dominio realmente modelado sea utilizable para su análisis y procesamiento posterior, el lenguaje debe garantizar que sea posible razonar de forma automática. Para lograrlo, debe incluir sintaxis y semántica formales. Otra ventaja de la formalización es la capacidad de descubrir errores en una etapa temprana. No siempre es que el lenguaje que mejor se adapta a los actores técnicos sea el mismo que el de los actores sociales.
El lenguaje utilizado es apropiado para el contexto organizacional, por ejemplo, que el lenguaje está estandarizado dentro de la organización o que está respaldado por herramientas que se eligen como estándar en la organización.
![]() | Wikimedia Commons tiene medios relacionados con lenguajes de modelado. |