De Wikipedia, la enciclopedia libre
  (Redirigido desde el modelado de software )
Saltar a navegación Saltar a búsqueda

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.

Resumen [ editar ]

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

  • Los lenguajes de modelado gráfico utilizan una técnica de diagrama con símbolos con nombre que representan conceptos y líneas que conectan los símbolos y representan relaciones y varias otras notaciones gráficas para representar restricciones.
  • Los lenguajes de modelado textual pueden usar palabras clave estandarizadas acompañadas de parámetros o términos y frases en lenguaje natural para hacer expresiones interpretables por computadora.

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.

Tipo de lenguajes de modelado [ editar ]

Tipos gráficos [ editar ]

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:

  • Los árboles de comportamiento son un lenguaje formal de modelado gráfico que se utiliza principalmente en la ingeniería de sistemas y software . Se utiliza habitualmente para representar de forma inequívoca los cientos o incluso miles de requisitos de lenguaje natural que se utilizan normalmente para expresar las necesidades de las partes interesadas de un sistema integrado por software a gran escala.
  • La notación de modelado de procesos de negocio (BPMN, y la forma XML BPML) es un ejemplo de un lenguaje de modelado de procesos .
  • La teoría CK consiste en un lenguaje de modelado para procesos de diseño.
  • DRAKON es un lenguaje de modelado algorítmico de propósito general para especificar sistemas con uso intensivo de software, una representación esquemática de un algoritmo o un proceso paso a paso y una familia de lenguajes de programación .
  • EXPRESS y EXPRESS-G (ISO 10303-11) es un lenguaje de modelado de datos de uso general estándar internacional .
  • El lenguaje de modelado empresarial extendido (EEML) se usa comúnmente para el modelado de procesos de negocios en varias capas.
  • El diagrama de flujo es una representación esquemática de un algoritmo o un proceso paso a paso.
  • Lenguaje de modelado Fundamental Modeling Concepts (FMC) para sistemas intensivos en software.
  • IDEF es una familia de lenguajes de modelado, que incluye IDEF0 para modelado funcional, IDEF1X para modelado de información, IDEF3 para modelado de procesos de negocio, IDEF4 para diseño orientado a objetos e IDEF5 para modelado de ontologías.
  • La programación estructurada de Jackson (JSP) es un método para la programación estructurada basado en correspondencias entre la estructura del flujo de datos y la estructura del programa.
  • LePUS3 es un lenguaje de descripción de diseño visual orientado a objetos y un lenguaje de especificación formal que es adecuado principalmente para modelar grandes programas y patrones de diseño orientados a objetos ( Java , C ++ , C # ) .
  • El modelado de roles de objetos (ORM) en el campo de la ingeniería de software es un método para el modelado conceptual y se puede utilizar como una herramienta para el análisis de información y reglas.
  • Las redes de Petri utilizan variaciones en exactamente una técnica y topología de diagramación, a saber, el gráfico bipartito . La simplicidad de su interfaz de usuario básica permitió fácilmente un amplio soporte de herramientas a lo largo de los años, particularmente en las áreas de verificación de modelos, simulación con orientación gráfica y verificación de software.
  • Southbeach Notation es un lenguaje de modelado visual que se utiliza para describir situaciones en términos de agentes que se consideran útiles o dañinos desde la perspectiva del modelador. La notación muestra cómo los agentes interactúan entre sí y si esta interacción mejora o empeora la situación.
  • El lenguaje de especificación y descripción (SDL) es un lenguaje de especificación destinado a la especificación y descripción inequívocas del comportamiento de sistemas reactivos y distribuidos.
  • SysML es un lenguaje de modelado específico de dominio para ingeniería de sistemas que se define como un perfil UML (personalización).
  • El lenguaje de modelado unificado (UML) es un lenguaje de modelado de propósito general que es un estándar de la industria para especificar sistemas con uso intensivo de software. UML 2.0, la versión actual, admite trece técnicas de diagrama diferentes y tiene un amplio soporte de herramientas.
  • El marco de modelado orientado a servicios (SOMF) es un lenguaje holístico para diseñar modelos de arquitectura empresarial y de nivel de aplicación en el espacio de arquitectura empresarial, virtualización, arquitectura orientada a servicios (SOA), computación en la nube y más. [2]
  • El lenguaje de descripción de la arquitectura (ADL) es un lenguaje que se utiliza para describir y representar la arquitectura de sistemas de un sistema .
  • AADL (AADL) es un lenguaje de modelado que admite análisis tempranos y repetidos de la arquitectura de un sistema con respecto a las propiedades críticas del rendimiento a través de una notación extensible, un marco de herramientas y una semántica definida con precisión.

Ejemplos de lenguajes de modelado gráfico en otros campos de la ciencia.

  • EAST-ADL es un lenguaje de modelado específico de dominio dedicado al diseño de sistemas automotrices.
  • Energy Systems Language (ESL), un lenguaje que tiene como objetivo modelar la energía ecológica y la economía global.
  • IEC 61499 define el lenguaje de modelado específico de dominio dedicado a distribuir sistemas de control y medición de procesos industriales.

Tipos textuales [ editar ]

Los modelos de información también se pueden expresar en lenguajes naturales formalizados, como 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 Gellish English, que tiene la forma de 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 puede consistir en una serie de expresiones en inglés formal de Gellish, como:

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

Considerando que los requisitos de información y los conocimientos se pueden expresar, por ejemplo, de la siguiente manera:

- la torre <deberá estar ubicada en una> zona geográfica- ciudad <es una especie de> área geográfica

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.

Tipos más específicos [ editar ]

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

Algebraico [ editar ]

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 , Mosel , OPL y OptimJes 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, índices dispersos poderosos y variables de manejo de datos, restricciones con nombres arbitrarios. La formulación algebraica de un modelo no contiene ninguna pista sobre cómo procesarlo.

Comportamiento [ editar ]

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 .

Disciplina específica [ editar ]

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.

Específico del dominio [ editar ]

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.

Específico del marco [ editar ]

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.

Modelado de información y conocimiento [ editar ]

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

Orientado a objetos [ editar ]

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.

Realidad virtual [ editar ]

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.

Otros [ editar ]

  • Lenguaje de descripción de arquitectura
  • Lenguaje de modelado facial
  • Lenguaje de modelado generativo
  • Lenguaje de modelado Java
  • Promela
  • Lenguaje de modelado de Rebeca
  • Lenguaje de modelado de servicios
  • Lenguaje de modelado de servicios web
  • X3D

Aplicaciones [ editar ]

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:

  • Requisitos del sistema,
  • estructuras y
  • comportamientos.

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, pero no mucho más. 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 [ editar ]

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.

Marco de evaluación [ editar ]

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.

Idoneidad del dominio [ editar ]

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

Idoneidad del participante [ editar ]

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 una parte interesada 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 de conocimiento explícito. El lenguaje debe expresar en gran medida todo el conocimiento explícito de las partes interesadas relevantes para el dominio.

Idoneidad del modelista [ editar ]

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.

Adecuación de la comprensibilidad [ editar ]

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

Idoneidad de la herramienta [ editar ]

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

Idoneidad organizativa [ editar ]

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 [ editar ]

  • Modelos analógicos
  • Antropomorfismo
  • Metamodelado
  • Pruebas basadas en modelos (MBT)
  • Arquitectura basada en modelos
  • Ingeniería basada en modelos (MDE)
  • Perspectiva de modelado
  • Lenguaje de ontología
  • Modelado científico
  • Modelado orientado a servicios
  • Modelado visual
  • Lenguaje de programación visual

Referencias [ editar ]

  1. ^ Xiao él (2007). "Un metamodelo para la notación de lenguajes de modelado gráfico". En: Congreso de Software y Aplicaciones Informáticas, 2007. COMPSAC 2007 - Vol. 1. 31st Annual International , Volumen 1, Edición, 24-27 de julio de 2007, págs. 219-224.
  2. ^ 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.
  3. ^ * Andries van Renssen, Gellish, A Generic Extensible Ontological Language Archivado el 30 de noviembre de 2012 en la Wayback Machine , Universidad Tecnológica de Delft, 2005.

Lectura adicional [ editar ]

  • John Krogstie (2003) "Evaluación de UML utilizando un marco de calidad genérico" . SINTEF Telecom andInformatics e IDI, NTNU, Noruega
  • Krogstie y Sølvsberg (2003). Ingeniería de Sistemas de Información: Modelización Conceptual en Perspectiva de la Calidad . Instituto de Ciencias de la Información y la Computación. \
  • Anna Gunhild Nysetvold and John Krogstie (2005). "Assessing business processing modeling languages using a generic quality framework". Institute of computer and information sciences.

External links[edit]

  • Fundamental Modeling Concepts
  • Software Modeling Languages Portal
  • BIP -- Incremental Component-based Construction of Real-time Systems
  • Gellish Formal English