SPARK
![](http://178.128.105.246/cars-http-upload.wikimedia.org/wikipedia/commons/thumb/3/3a/About-header.png/220px-About-header.png)
SPARK es un lenguaje de programación especialmente diseñado para sistemas de alta integridad. Es un subconjunto anotado de Ada desarrollado por la empresa británica Praxis High Integrity Systems, Inc Archivado el 10 de julio de 2006 en Wayback Machine. que elimina ciertas características del lenguaje consideradas peligrosas en este tipo de sistemas (como las excepciones o la sobrecarga de operadores), y que añade anotaciones formales para realizar automáticamente análisis de flujo de datos y de información.
Historia
[editar]Los orígenes de este lenguaje de programación se encuentran en los trabajos realizados en la Universidad de Southamton (Reino Unido) sobre verificación formal de programas, y más concretamente en el desarrollo de SPADE (Southampton Program Analysis Development Environment), un conjunto de herramientas destinadas al análisis de flujo de datos y de información. De hecho, el nombre «SPARK» deriva de «SPADE Ada Kernel».
La primera versión de SPARK estaba basada en Ada 83 y fue desarrollada en 1988 por Bernard Carré y Trevor Jennings en dicha Universidad con el patrocinio del Ministerio de Defensa (MoD) británico. Más tarde siguió siendo desarrollado por la empresa Program Validaton Limited (fundada por el profesor Carré), y después por Praxis Critical Systems Limited. En octubre de 2004 esta empresa se fusionó con High Integrity Systems Limited para formar Praxis High Integrity Systems.
Ejemplo de código SPARK
[editar]El típico ejemplo de Hola mundo en SPARK es:
with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hola_Mundo --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hola Mundo!", 0); end Hola_Mundo;
Enlaces relacionados
[editar]Enlaces externos
[editar]- Página oficial de SPARK Archivado el 11 de febrero de 2004 en Wayback Machine.
- Praxis High Integrity Systems, Inc Archivado el 10 de julio de 2006 en Wayback Machine.
- Hojas de referencia rápida del lenguaje: