Lenguaje de especificación
# Lenguaje de especificación

En el contexto de la ingeniería eléctrica, la computación y ramas afines, un lenguaje de especificación o lenguaje de descripción es un lenguaje formal o semi-formal cuya función es construir modelos de los sistemas que se desea elaborar.

A diferencia de los lenguajes de programación, que son lenguajes interpretables o traducibles por una computadora hacia una representación ejecutable, los lenguajes de especificación no son por lo general utilizados para implementar el sistema, sino para especificarlo, conceptualizarlo o incluso validarlo, aunque también suelen ser legibles para un programa de computadora, que puede asistir en el proceso de validación.

Las especificaciones hechas en un lenguaje de descripción no suelen ser interpretables o ejecutables, sin embargo existen algunos ambientes de desarrollo basados en lenguajes de descripción, que permiten la generación del sistema a partir del modelo. Los lenguajes de especificación pueden dividirse en semi-formales y formales.

## Algunos lenguajes de especificación

* Alloy, lenguaje de especificaciones que utiliza la lógica de primer orden y se basa en el uso de relaciones.
* Autómatas formalismo utilizado para modelar sistemas discretos en general.
* B, lenguaje de descripción formal basado en la lógica de predicados.
* Cálculo Pi, lenguaje de especificación para sistemas distribuidos y paralelos.
* CCS, lenguaje formal basado en el álgebra de procesos.
* CSP, lenguaje formal basado en el álgebra de procesos
* Estelle, lenguaje formal basado en autómatas de estado finito para la especificación de sistemas distribuidos.
* Larch, familia de lenguajes formales de especificación.
* Lotos, lenguaje formal basado en el álgebra de procesos.
* Promela, lenguaje formal basado en la lógica temporal lineal y los autómatas de Buchi.
* Redes de Petri formalismo equivalente a los autómatas, utilizado para la especificación de sistemas discretos paralelos o distribuidos.
* SDL, lenguaje visual para el diseño de sistemas distribuidos basado en autómatas.
* UML, notación semiformal para modelar programas orientados a objetos.
* VHDL, lenguaje de descripción (e implantación) de circuitos electrónicos.
* Z, lenguaje de descripción formal basada en la prueba automática de teoremas usando la lógica.
* Z.120, estándar semiformal de la ITU-T para diagramas de flujo.
* Datos: Q1209840
