Articulo de referencia

Lenguaje de modelado

Un lenguaje de modelado es una notación para expresar datos , información , conocimientos o sistemas en una estructura definida por un conjunto coherente de reglas. Un lenguaje ...

Un lenguaje de modelado es una notación para expresar datos , información , conocimientos o sistemas en una estructura definida por un conjunto coherente de reglas.

Un lenguaje de modelado puede ser gráfico o textual. [ 1 ] Un lenguaje de modelado gráfico utiliza una técnica de diagramación con símbolos con nombre que representan conceptos y líneas que conectan los símbolos y representan relaciones, además de diversas notaciones gráficas para representar restricciones. Un lenguaje de modelado textual puede utilizar palabras clave estandarizadas acompañadas de parámetros o términos y frases en lenguaje natural para crear expresiones interpretables por computadora. Un ejemplo de un lenguaje de modelado gráfico y su correspondiente lenguaje de modelado textual es EXPRESS .

No todos los lenguajes de modelado son ejecutables, y para aquellos que sí lo son, su uso no implica necesariamente que los programadores ya no sean necesarios. Al contrario, los lenguajes de modelado ejecutables están diseñados para aumentar la productividad de los programadores expertos, de modo que puedan abordar problemas más complejos, como la computación paralela y los sistemas distribuidos .

En la literatura aparece un gran número de lenguajes de modelado.

Tipos de lenguajes de modelado

Tipos gráficos

Ejemplos 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.

Tipos de texto

Los modelos de información también pueden expresarse en lenguajes naturales formalizados, como el Gellish. [ 4 ] El Gellish tiene variantes de lenguaje natural como el Gellish Formal English y el Gellish Formal Dutch ( Gellish Formeel Nederlands ), etc. El Gellish Formal English es un lenguaje de representación de información o lenguaje de modelado semántico que se define en el Gellish English Dictionary-Taxonomy, que tiene la forma de una taxonomía-ontología (similar para el holandés). El Gellish Formal English no solo es adecuado para expresar conocimiento, 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 lenguaje y, por lo tanto, puede integrarse, independientemente de si se almacena en bases de datos centrales, distribuidas o federadas. Los modelos de información en Gellish Formal English consisten en colecciones de expresiones en Gellish Formal English, que utilizan términos de lenguaje natural y frases formalizadas. Por ejemplo, un modelo de información geográfica podría constar de varias expresiones en Gellish Formal English, como:

- La Torre Eiffel <está ubicada en> París - París <está clasificada como> ciudad

mientras que los requisitos de información y el conocimiento pueden expresarse, por ejemplo, de la siguiente manera:

- la torre <deberá estar ubicada en un> área geográfica - ciudad <es un tipo de> área geográfica

Estas expresiones en inglés formal Gellish utilizan nombres de conceptos (como «ciudad») y frases que representan tipos de relaciones (como « está ubicada en » y « está clasificada como » ) que deben seleccionarse del Diccionario-Taxonomía de Inglés Gellish (o de su propio diccionario de dominio). El Diccionario-Taxonomía de Inglés Gellish permite la creación de modelos de información semánticamente ricos, ya que contiene más de 600 tipos de relaciones estándar y definiciones de más de 40 000 conceptos. Un modelo de información en Gellish puede expresar hechos o formular afirmaciones, consultas y respuestas.

Tipos más específicos

En el campo de la informática, recientemente han surgido tipos más específicos de lenguajes de modelado.

Algebraico

Los lenguajes de modelado algebraico (AML) son lenguajes de programación de alto nivel para describir y resolver problemas de alta complejidad en computación matemática a gran escala (es decir, problemas de optimización a gran escala). Una ventaja particular de los AML como AIMMS , AMPL , GAMS , Gekko , Mosel , OPL , MiniZinc 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 los problemas en el ámbito de la optimización, lo cual se apoya en ciertos elementos del lenguaje como conjuntos, índices, expresiones algebraicas, potentes variables de manejo de datos e índices dispersos, y restricciones con nombres arbitrarios. La formulación algebraica de un modelo no contiene ninguna indicación sobre cómo procesarlo.

Conductual

Los lenguajes de comportamiento están diseñados para describir el comportamiento observable de sistemas complejos compuestos por componentes que se ejecutan simultáneamente. Estos lenguajes se centran en la descripción de conceptos clave como la concurrencia, el no determinismo, la sincronización y la comunicación. Los fundamentos semánticos de los lenguajes de comportamiento son el cálculo de procesos o el álgebra de procesos .

Específico de la disciplina

Un lenguaje de modelado específico de la disciplina (DspM) se centra en los entregables asociados a una etapa específica del ciclo de vida del desarrollo de software. Por lo tanto, dicho lenguaje ofrece un vocabulario, una sintaxis y una notación propios para cada etapa, como descubrimiento, análisis, diseño, arquitectura, contracción, etc. Por ejemplo, en la fase de análisis de un proyecto, el modelador emplea una notación de análisis específica para generar un diagrama de proposición de análisis. En la fase de diseño, sin embargo, se utiliza una 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 impiden que los profesionales combinen las distintas notaciones en un mismo diagrama.

Específico del dominio

El modelado específico de dominio (DSM, por sus siglas en inglés) es una metodología de ingeniería de software para el diseño y desarrollo de sistemas, principalmente sistemas de TI como el software. Implica el uso sistemático de un lenguaje gráfico específico de dominio (DSL, por sus siglas en inglés) para representar las diversas facetas de un sistema. Los lenguajes DSM suelen admitir abstracciones de nivel superior a las de 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.

Específico del marco

Un lenguaje de modelado específico de marco (FSML) es un tipo de lenguaje de modelado específico de dominio diseñado para un marco de aplicación orientado a objetos. Los FSML definen abstracciones proporcionadas por el marco como conceptos FSML y descomponen dichas abstracciones en características. Estas características representan pasos o decisiones de implementación.

Un concepto FSML se puede configurar seleccionando características y asignando valores a dichas características. Esta configuración de concepto representa cómo debe implementarse el concepto en el código. En otras palabras, la configuración del concepto describe cómo debe completarse el marco de trabajo para crear la implementación del concepto.

Modelado de información y conocimiento

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 las entidades y las relaciones, y atributos de metadatos . JSON-LD y RDF son dos lenguajes importantes (y semánticamente casi equivalentes) en este contexto, principalmente porque admiten la reificación de enunciados y la contextualización , propiedades esenciales para sustentar la lógica de orden superior necesaria para razonar sobre los modelos. La transformación de modelos es un ejemplo común de este razonamiento.

Orientado a objetos

Un lenguaje para modelado orientado a objetos (OOM, por sus siglas en inglés) es una notación para modelar un sistema como orientado a objetos. Una organización puede usar OOM para documentar y describir la arquitectura y el diseño del sistema tanto para desarrolladores como para las partes interesadas. Dado que un lenguaje de modelado es visual y se encuentra en un nivel de abstracción superior al del código, el uso de modelos fomenta la generación de una visión compartida que puede prevenir problemas derivados de diferentes interpretaciones durante el desarrollo. A menudo, se utilizan herramientas de modelado de software para construir estos modelos, los cuales pueden luego traducirse automáticamente a código.

Realidad virtual

El lenguaje de modelado de realidad virtual (VRML), conocido antes de 1995 como lenguaje de marcado de realidad virtual, es un formato de archivo estándar para representar gráficos vectoriales interactivos tridimensionales (3D), diseñado especialmente pensando en la World Wide Web.

Otros

Aplicaciones

En diversas disciplinas, como la informática , la gestión de la información , el modelado de procesos de negocio , la ingeniería de software y la ingeniería de sistemas , se aplican distintos tipos de lenguajes de modelado. Estos lenguajes pueden utilizarse para especificar:

  • requisitos del sistema,
  • estructuras y
  • comportamientos.

Los lenguajes de modelado están diseñados para especificar con precisión los sistemas, 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, consistentes y ejecutables. Se espera que las técnicas de diagramación informales aplicadas con herramientas de dibujo produzcan representaciones gráficas ú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 programáticamente. [ 5 ] : 539 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.

Calidad

Es fundamental revisar los lenguajes de modelado para determinar cuáles son los más adecuados para cada contexto. En este contexto, entendemos a las partes interesadas, el dominio y el conocimiento asociado. Evaluar la calidad del lenguaje es un medio para lograr mejores modelos.

Marco de evaluación

Aquí, la calidad del lenguaje se define según el marco SEQUAL para la calidad de los modelos, desarrollado por Krogstie, Sindre y Lindland (2003). Este marco vincula la calidad del lenguaje con un marco general para la calidad de los modelos. Se utilizan cinco áreas para describir la calidad del lenguaje, las cuales expresan tanto la notación conceptual como la visual del mismo. No profundizaremos en la explicación del marco de calidad subyacente de los modelos, sino que nos centraremos en las áreas utilizadas para explicar el marco de calidad del lenguaje.

Adecuación del dominio

El marco de trabajo define la capacidad de representar el dominio como adecuación al dominio. El término " adecuación" puede resultar algo vago, pero en este contexto particular significa ser capaz de expresarlo . Idealmente, solo debería poder expresar elementos que pertenecen al dominio, pero con la potencia suficiente para incluir todo lo que contiene. Este requisito puede parecer algo estricto, pero el objetivo es obtener un modelo visualmente expresado que incluya todo lo relevante para el dominio y excluya todo lo que no sea apropiado. Para lograrlo, el lenguaje debe distinguir claramente qué notaciones y sintaxis son ventajosas para su presentación.

Adecuación del participante

Para evaluar la idoneidad de los participantes, intentamos identificar qué tan bien el lenguaje expresa el conocimiento que poseen las partes interesadas. Esto presenta desafíos, ya que el conocimiento de las partes interesadas es subjetivo. El conocimiento de las partes interesadas es tanto tácito como explícito, y ambos tipos son dinámicos. En este marco, solo se considera el conocimiento explícito. El lenguaje debe expresar, en gran medida, todo el conocimiento explícito de las partes interesadas relevante para el dominio.

Adecuación del modelo

El último párrafo indicaba que el conocimiento de las partes interesadas debía presentarse de forma adecuada. Además, es fundamental que el lenguaje permita expresar todo el conocimiento explícito posible de dichas partes. Ningún conocimiento debe quedar sin expresar por deficiencias en el lenguaje.

Adecuación de la comprensibilidad

La comprensibilidad y la adecuación garantizan que los actores sociales entiendan el modelo gracias al uso coherente del lenguaje. Para ello, el marco incluye un conjunto de criterios. La importancia general que estos criterios expresan radica en que el lenguaje debe ser flexible, fácil de organizar y permitir la distinción clara de sus diferentes partes, tanto internamente como en comparación con otros idiomas. Además, el objetivo debe ser lo más sencillo posible y cada símbolo del lenguaje debe tener una representación única.

Esto también está relacionado con la estructura de los requisitos de desarrollo.

Adecuación de la herramienta

Para garantizar que el dominio modelado sea útil para el análisis y el procesamiento posterior, el lenguaje debe permitir el razonamiento automático. Para ello, debe incluir sintaxis y semántica formales. Otra ventaja de la formalización es la capacidad de detectar errores en una etapa temprana. El lenguaje más adecuado para los actores técnicos no siempre coincide con el más apropiado para los actores sociales.

Adecuación organizacional

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 elegidas como estándar en la organización.

Véase también

Referencias

  1. He, Xiao; Ma, Zhiyi; Shao, Weizhong; Li, Ge (julio de 2007). "Un metamodelo para la notación de lenguajes de modelado gráfico". 31.ª Conferencia Internacional Anual sobre Software y Aplicaciones Informáticas - Vol. 1 - (COMPSAC 2007) . Vol.  1. págs. 219–224 . CiteSeerX 10.1.1.526.5321 . doi : 10.1109/COMPSAC.2007.27 . ISBN   978-0-7695-2870-0.
  2. ^ Breteler, Jeroen; van Gessel, Thom; Biagioni, Giulia; van Doesburg, Robert (11 de septiembre de 2023), "La ontología FLINT: un modelo de relaciones jurídicas basado en actores", en Acosta, Maribel; Peroni, Silvio; Vahdati, Sahar; Gentile, Anna-Lisa (eds.), Estudios sobre la web semántica , IOS Press, doi : 10.3233/ssw230016 , ISBN 978-1-64368-424-6
  3. Bell, Michael (2008). «Introducción al modelado orientado a servicios». Modelado orientado a servicios: análisis, diseño y arquitectura de servicios . Wiley & Sons. ISBN 978-0-470-14111-3.
    • Andries van Renssen, Gellish, Un lenguaje ontológico genérico extensible. Archivado el 2 de marzo de 2024 en la Wayback Machine , Universidad Tecnológica de Delft, 2005.
  4. Baltes, Sebastian; Diehl, Stephan (11 de noviembre de 2014). «Bocetos y diagramas en la práctica» . Actas del 22.º Simposio Internacional ACM SIGSOFT sobre Fundamentos de la Ingeniería de Software . FSE 2014. Hong Kong, China: Association for Computing Machinery. pp. 530–541 . arXiv : 1706.09172 . doi : 10.1145/2635868.2635891 . ISBN  978-1-4503-3056-5. S2CID 2436333 . 

Lecturas adicionales

  • John Krogstie (2003) "Evaluación de UML mediante un marco de calidad genérico" . SINTEF Telecom and Informatics e IDI, NTNU, Noruega.
  • Krogstie y Sølvsberg (2003). Ingeniería de sistemas de información: modelado conceptual desde una perspectiva de calidad . Instituto de Ciencias de la Computación e Información.
  • Anna Gunhild Nysetvold y John Krogstie (2005). "Evaluación de lenguajes de modelado de procesos de negocio mediante un marco de calidad genérico" . Instituto de Ciencias de la Computación e Información.
  • Conceptos fundamentales de modelado
  • Portal de lenguajes de modelado de software
  • BIP: Construcción incremental basada en componentes de sistemas en tiempo real.
  • Inglés formal Gellish