fbpx
Wikipedia

Lenguaje específico de dominio

En desarrollo de software e ingeniería de dominio, un lenguaje específico de dominio, o "lenguaje específico del dominio", (en inglés domain-specific language, DSL) es un lenguaje de programación o especificación dedicado a resolver un problema en particular, representar un problema específico y proveer una técnica para solucionar una situación particular. El concepto no es nuevo pero se ha vuelto más popular debido al aumento del uso de modelaje específico del dominio.[1]

Ejemplos de lenguajes específicos del dominio incluyen, Logo para niños, Verilog y VHSIC, R y S para estadísticas, Mata para programación matricial, Mathematica y Maxima para matemáticas, fórmulas de hojas de cálculo y macros, SQL para consultas a bases de datos relacionales, Yacc para crear parseadores, expresiones regulares para crear análisis léxico, Generic Eclipse Modeling System para crear lenguajes con el objetivo de diagramar, Csound un lenguaje para síntesis digital, y los lenguajes de entrada de GraphViz y GrGen, paquetes de software usados para graficar y reescribir gráficas.

Lo opuesto es:

  • un lenguaje de programación de propósito general, como por ejemplo C o Java.
  • o un lenguaje de modelaje de propósito general como UML.

Crear un lenguaje específico del dominio (con software que lo soporte) vale la pena cuando permite que un tipo particular de problemas o soluciones puedan ser expresadas más claramente que con otros lenguajes existentes, y el tipo de problema en cuestión reaparece lo suficiente. La programación orientada a lenguajes considera la creación de lenguajes específicos para expresar problemas una parte estándar para el proceso de solucionar el problema.

En los DSL, la semántica del lenguaje está muy cercana al dominio del problema para el cual se diseña. Tienen un alto nivel de abstracción al usuario, por tanto, están dirigidos a expertos en el dominio.

Diseño del metamodelo

Metamodelado es el análisis, diseño y construcción de los metamodelos necesarios para cubrir un determinado tipo de problemas, así como las reglas y restricciones aplicables.

Metamodelo: conjunto de conceptos del dominio a modelar (metaclases) y las relaciones entre ellos (metasociaciones).

Desarrollo del modelo de presentación

Tendremos que elegir, según el problema a resolver, cuál es el formato de representación más adecuado para nuestro DSL. ¿Cuál es el tipo de problema que queremos modelar? ¿Quiénes serán los usuarios del lenguaje?

Dos tipos de DSL:

  • Textuales: más expresivos, están basados en una gramática.
  • Visuales: más fáciles de interpretar, está basado en el mapping entre elementos gráficos y elementos de nuestro metamodelo.

Generación de transformaciones

Existen varios tipos de transformaciones:

  • Modelo a modelo (M2M).
  • Modelo a texto (M2T).

Entorno tecnológico

El Eclipse Modeling Project centra la evolución y promoción del desarrollo de tecnologías basadas en modelos dentro de la comunidad Eclipse, proveyendo un conjunto unificado de frameworks para el modelaje, herramientas e implementación de estándares.

Referencias

  1. [Marjan Mernik, Jan Heering, and Anthony M. Sloane. When and how to develop domain-specific languages. ACM Computing Surveys, 37(4):316–344, 2005.doi:10.1145/1118890.1118892]
  •   Datos: Q691358

lenguaje, específico, dominio, desarrollo, software, ingeniería, dominio, lenguaje, específico, dominio, lenguaje, específico, dominio, inglés, domain, specific, language, lenguaje, programación, especificación, dedicado, resolver, problema, particular, repres. En desarrollo de software e ingenieria de dominio un lenguaje especifico de dominio o lenguaje especifico del dominio en ingles domain specific language DSL es un lenguaje de programacion o especificacion dedicado a resolver un problema en particular representar un problema especifico y proveer una tecnica para solucionar una situacion particular El concepto no es nuevo pero se ha vuelto mas popular debido al aumento del uso de modelaje especifico del dominio 1 Ejemplos de lenguajes especificos del dominio incluyen Logo para ninos Verilog y VHSIC R y S para estadisticas Mata para programacion matricial Mathematica y Maxima para matematicas formulas de hojas de calculo y macros SQL para consultas a bases de datos relacionales Yacc para crear parseadores expresiones regulares para crear analisis lexico Generic Eclipse Modeling System para crear lenguajes con el objetivo de diagramar Csound un lenguaje para sintesis digital y los lenguajes de entrada de GraphViz y GrGen paquetes de software usados para graficar y reescribir graficas Lo opuesto es un lenguaje de programacion de proposito general como por ejemplo C o Java o un lenguaje de modelaje de proposito general como UML Crear un lenguaje especifico del dominio con software que lo soporte vale la pena cuando permite que un tipo particular de problemas o soluciones puedan ser expresadas mas claramente que con otros lenguajes existentes y el tipo de problema en cuestion reaparece lo suficiente La programacion orientada a lenguajes considera la creacion de lenguajes especificos para expresar problemas una parte estandar para el proceso de solucionar el problema En los DSL la semantica del lenguaje esta muy cercana al dominio del problema para el cual se disena Tienen un alto nivel de abstraccion al usuario por tanto estan dirigidos a expertos en el dominio Indice 1 Diseno del metamodelo 2 Desarrollo del modelo de presentacion 3 Generacion de transformaciones 4 Entorno tecnologico 5 ReferenciasDiseno del metamodelo EditarMetamodelado es el analisis diseno y construccion de los metamodelos necesarios para cubrir un determinado tipo de problemas asi como las reglas y restricciones aplicables Metamodelo conjunto de conceptos del dominio a modelar metaclases y las relaciones entre ellos metasociaciones Desarrollo del modelo de presentacion EditarTendremos que elegir segun el problema a resolver cual es el formato de representacion mas adecuado para nuestro DSL Cual es el tipo de problema que queremos modelar Quienes seran los usuarios del lenguaje Dos tipos de DSL Textuales mas expresivos estan basados en una gramatica Visuales mas faciles de interpretar esta basado en el mapping entre elementos graficos y elementos de nuestro metamodelo Generacion de transformaciones EditarExisten varios tipos de transformaciones Modelo a modelo M2M Modelo a texto M2T Entorno tecnologico EditarEl Eclipse Modeling Project centra la evolucion y promocion del desarrollo de tecnologias basadas en modelos dentro de la comunidad Eclipse proveyendo un conjunto unificado de frameworks para el modelaje herramientas e implementacion de estandares Referencias Editar Marjan Mernik Jan Heering and Anthony M Sloane When and how to develop domain specific languages ACM Computing Surveys 37 4 316 344 2005 doi 10 1145 1118890 1118892 Datos Q691358Obtenido de https es wikipedia org w index php title Lenguaje especifico de dominio amp oldid 127879048, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos