stringtranslate.com

Lenguaje de modelado

Un lenguaje de modelado es cualquier lenguaje artificial que puede usarse para expresar datos , información o conocimiento o sistemas en una estructura definida por un conjunto consistente de reglas. Las reglas se utilizan para interpretar el significado de los componentes en la estructura de un lenguaje de programación.

Descripción general

Un lenguaje de modelado puede ser gráfico o textual. [1]

Un ejemplo de 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 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, para que puedan abordar problemas más desafiantes, como la computación paralela y los sistemas distribuidos .

En la literatura aparecen una gran cantidad de lenguajes de modelado.

Tipo de lenguajes de modelado

Tipos gráficos

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.

Tipos textuales

Los modelos de información también se pueden expresar en lenguajes naturales formalizados, como el gellish. [3] 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 Inglés Gellish, que tiene la forma de una Taxonomía-Ontología (de manera similar para el holandés). Gellish Formal English no sólo 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 idioma y por lo tanto se puede integrar, 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 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 consistir en varias expresiones en inglés formal gellish, como por ejemplo:

- la torre Eiffel <está ubicada en> París- París <está clasificada como> ciudad

mientras que las necesidades de información y conocimientos pueden expresarse, por ejemplo, de la siguiente manera:

- la torre <deberá estar ubicada en una> zona geográfica- ciudad <es una especie 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á ubicado en⟩ y ⟨está clasificado como a⟩ ) 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, porque el diccionario 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 hacer afirmaciones, consultas y respuestas.

Tipos más específicos

En el campo de la informática han surgido recientemente 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 para cálculos matemáticos a gran escala (es decir, problemas de tipo optimización a gran escala). Una ventaja particular de 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 problemas en el dominio de optimización, que está respaldada por ciertos elementos del lenguaje como conjuntos, índices, expresiones algebraicas, potentes índices dispersos y variables de manejo de datos, restricciones con nombres arbitrarios. La formulación algebraica de un modelo no contiene indicaciones sobre cómo procesarlo.

conductual

Los lenguajes conductuales están diseñados para describir el comportamiento observable de sistemas complejos que constan de componentes que se ejecutan simultáneamente. 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 .

Específico de la disciplina

Un lenguaje de modelado de disciplina específica (DspM) se centra en entregables afiliados 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 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 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íficas de la disciplina no impiden que los profesionales combinen las distintas notaciones en un solo diagrama.

Específico de dominio

El modelado de dominio específico (DSM) es una metodología de ingeniería de software para diseñar y desarrollar sistemas, generalmente 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.

Específico del marco

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

Un concepto FSML se puede configurar seleccionando funciones y proporcionando valores para las funciones. 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.

Modelado de información y conocimiento.

Los datos vinculados 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 principales (y semánticamente casi equivalentes) en este contexto, principalmente porque admiten la cosificació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 de modelos es un ejemplo común de tal razonamiento.

Orientado a objetos

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 de 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 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 evitar 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.

Realidad virtual

El lenguaje de modelado de realidad virtual (VRML), antes de 1995 conocido 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 teniendo en cuenta la World Wide Web.

Otros

Aplicaciones

Se aplican varios tipos de lenguajes de modelado en diferentes disciplinas, incluidas 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 . Los lenguajes de modelado se pueden utilizar para especificar:

Los lenguajes de modelado están destinados a especificar sistemas con precisión para 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 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. [4] :  Sin embargo, se espera que 539 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

Una revisión de los lenguajes de modelado es esencial para poder asignar qué lenguajes son apropiados para diferentes entornos de modelado. En el término entornos incluimos las partes interesadas, el dominio y el conocimiento conectado. Evaluar la calidad del lenguaje es un medio que apunta a lograr mejores modelos.

Marco de evaluación

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 este es 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 exhaustiva del marco de calidad subyacente de los modelos, sino que nos concentraremos en las áreas utilizadas para explicar el marco de calidad del lenguaje.

Adecuación del dominio

El marco establece la capacidad de representar el dominio como idoneidad del dominio. La expresión idoneidad puede ser un poco vaga, pero en este contexto particular significa capaz de expresar . Idealmente, sólo debería poder expresar cosas que están en el dominio, pero ser lo suficientemente potente 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 son ventajosas para presentar.

Idoneidad del participante

Para evaluar la idoneidad de los participantes, intentamos identificar qué tan bien el lenguaje expresa el conocimiento de las partes interesadas. Esto implica desafíos ya que el conocimiento de las partes interesadas es subjetivo. El conocimiento de la parte interesada es tanto tácito como explícito. Ambos tipos de conocimiento son de carácter dinámico. En este marco sólo 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 al dominio.

Adecuación del modelador

El último párrafo indicó que el conocimiento de las partes interesadas debe presentarse de 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 quedar sin expresar debido a carencias en el idioma.

Adecuación de la comprensibilidad

La idoneidad de la comprensibilidad asegura que los actores sociales comprendan el modelo debido a un uso consistente del lenguaje. Para lograrlo, 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 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 lenguaje tenga 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 realmente modelado sea utilizable para análisis y procesamiento posterior, el lenguaje debe garantizar que sea posible razonar de forma automática. Para lograr esto tiene que incluir sintaxis y semántica formal. Otra ventaja de formalizar es la capacidad de descubrir errores en una etapa temprana. No siempre el lenguaje que mejor se adapta a los actores técnicos es el mismo que el de 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 que se eligen como estándar en la organización.

Ver también

Referencias

  1. ^ Él, Xiao; Mamá, Zhiyi; Shao, Weizhong; Li, Ge (julio de 2007). "Un metamodelo para la notación de lenguajes de modelado gráfico". 31ª Conferencia Anual Internacional de Aplicaciones y Software Informáticos - Vol. 1 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. ^ Campana, Michael (2008). "Introducción al modelado orientado a servicios". Modelado orientado a servicios: análisis, diseño y arquitectura de servicios . Wiley e hijos. ISBN 978-0-470-14111-3.
  3. ^ * Andries van Renssen, Gellish, un lenguaje ontológico extensible genérico, Universidad Tecnológica de Delft, 2005.
  4. ^ Baltes, Sebastián; 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: Asociación de Maquinaria de Computación. págs. 530–541. arXiv : 1706.09172 . doi :10.1145/2635868.2635891. ISBN 978-1-4503-3056-5. S2CID  2436333.

Otras lecturas

enlaces externos