Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

Documentos relacionados
Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

Generación de código para Hibernate desde modelos UML

"Módulo OOWS para StarUML" INTRODUCCIÓN

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

Transformaciones de modelo a texto con Acceleo Curso

Enterprise Architect

FORMACIÓN EN ACADEMIAS GP 3.1

Modelado Software: Visión Global

PROGRAMA FORMATIVO MICROSOFT ACCESS 2007 (COMPLETO)

GENERACIÓN DE APLICACIONES MEDIANTE LENGUAJES ESPECIFICOS DE DOMINIO

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

Oferta tecnológica: Herramienta software y método para modelar aplicaciones web independientes de dispositivo

INTERPRETACIÓN DINÁMICA DE MÚLTIPLES LENGUAJES DE DOMINIO ESPECÍFICO

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

Microsoft Access 2010 (Completo)

Sistema informatizado de Trazabilidad alimentaria

Sistema de Gestión de Contenidos XML. Ing. Lianet Luaces Torres Ing. Ayleen Menéndez Senarega Ing. Yanet Bellón Landa Ing. Renier Valdés González

DISEÑO E IMPLEMENTACIÓN DE UNA BASE DE DATOS PARA LA ONG ASEM

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

CAPÍTULO 5. DESARROLLO Y PRUEBAS

BackflipSD Modelo de Diseño

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

MICROSOFT ACCESS 2010

Tribunal Constitucional PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN DE LA ASISTENCIA TÉCNICA PARA LA TRAMITACIÓN JURISDICCIONAL ELECTRÓNICA

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS

Herramientas Libres para Desarrollo de Aplicaciones en la Industria del Software. Por Gustavo González

Cursos PHP construcción de sitios web dinámicos

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 5 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

CMS JOOMLA. Características

Microsoft Access 2007 (Completo)

PROGRAMA FORMATIVO MICROSOFT ACCESS 2003 (COMPLETO)

QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D)

LENGUAJES DE PROGRAMACIÓN 4 MÓDULOS. 56 Horas

Durante la determinación del problema dentro de los procesos de mercadeo de R & S Training se pudo notar notables deficiencias en las relaciones con

Unidad 9. Entornos de Desarrollo

POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

CAPÍTULO I DEFINICIÓN DEL PROBLEMA Y OBJETIVOS

Informe Final Desarrollo del Proyecto Áreas Naturales Protegidas del Ecuador. Desarrollado por: Jessica Nathaly Correa María Isabel Granda.

INTRODUCCIÓN A PHP. Javier Enciso

MICROSOFT ACCESS 2003

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

MDA: Arquitectura Dirigida por Modelos

PLAN FORMATIVO MODALIDAD I

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Curso Facebook Curso Online Desarrollo de Aplicaciones para Facebook

Datos del Curso Título Diseño y Creación de Portales Web

Realizar las actividades propias de desarrollador MUISCA, según los Términos de Referencia aprobados por el Banco Mundial.

LENGUAJES DE PROGRAMACIÓN WEB (PHP1, HTML52)

MEMORIA FINAL 1 Compromisos y Resultados Proyectos de Innovación y Mejora Docente 2014/2015

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL BÁSICO

UNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL AREA DE CURSOS DE ESPECIALIZACIÓN EN TECNOLOGÍAS DE LA INFORMACIÓN

UNIVERSIDAD CENTRAL DEL ECUADOR

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

INGENIERÍA DE SOFTWARE. Sesión 3: Tipos

SERVICIOS TELEMÁTICOS PARA GESTIÓN DEL TURISMO RURAL EN UNA COMARCA.

Capitulo 5. Implementación del sistema MDM

Ambientes de Desarrollo

Gestores de contenidos

Gestores de contenidos

Microsoft SQL Server Conceptos.

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

PROGRAMACIÓN PÁGINAS WEB CON PHP

Procesadores de lenguaje Tema 1: Introducción a los compiladores

Tecnología de la Información y la Comunicación. Base de datos. Consultas

De principiante a Desarrollador Web. casivaagustin@gmail.com

DESARROLLO WEB CON YII FRAMEWORK LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN

Diseño y desarrollo de el Generador de Tiendas virtuales usando Líneas de Diseño de productos

BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación

comunidades de práctica

Ingeniería inversa de GUIs

PERFIL TÉCNICO ANALISTA-PROGRAMADOR

Introducción a Protégé

GUÍA METODOLÓGICA DE IMPLANTACIÓN DE PROCEDIMIENTOS Y SERVICIOS TELEMÁTICOS DE LA JUNTA DE ANDALUCÍA

Máster en Lenguajes y Sistemas Informáticos: Tecnologías del Lenguaje en la Web Universidad de Educación a Distancia Marzo 2013

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl


Ambientes de Desarrollo

Novedades. Introducción. Potencia

Introducción al desarrollo en Plone

* Desempeñarse como analistas y programadores de sistemas informáticos.

I. DATOS DE IDENTIFICACIÓN. 1. Unidad Académica: _Facultad de Ciencias

Interacción Persona - Ordenador

Universidad Autónoma de Madrid

MINISTERIO DE EDUCACIÓN DIRECCIÓN DE EDUCACIÓN TÉCNICA Y PROFESIONAL PROGRAMA DE LA ASIGNATURA BASE DE DATOS ESPECIALIDAD INFORMÁTICA.

GLOSARIO. un conjunto de noticias, ordenado por fecha. CMF (Content Management Framework) - Entorno a programación de

Certificato Numero Desarrollo Apps y Juegos para Facebook

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma

Diseño y Construcción de Lenguajes Específicos del Dominio

Integrando Soluciones

Curso PHP Curso Online Analista Programador Web PHP

ACTA DE CONSEJO DE FACULTAD/DEPTO./CENTRO:

Escuela Secundaria Técnica No. 95 Cuitlahuac DESARROLLO DE SOFTWARE PARA APOYO EN HABILIDADES MATEMÁTICAS Y LECTORAS.

Definición de Rich Internet Applications a través de Modelos de Dominio Específico. Rivero, José Matías Buzzo, Marcos Hernán

BASES DE DATOS, MODELOS DE DATOS Y DBMS

PROGRAMADOR PHP y MySQL

ADMINISTRACIÓN DE BASE DE DATOS

Integrando UML y DSL en el enfoque MDA

Transcripción:

Procesadores de Lenguajes 2 Lenguajes Específicos de Dominio Curso 2013-2014 Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz 17/10/13 PL2 - Lenguajes Específicos de Dominio 1

Contenidos Introducción Clasificación Herramientas 17/10/13 PL2 - Lenguajes Específicos de Dominio 2

LENGUAJES ESPECÍFICOS DE DOMINIO INTRODUCCIÓN 17/10/13 PL2 - Lenguajes Específicos de Dominio 3

Domain Specific Languages (DSL) Lenguaje de programación orientado a un problema específico. Son opuestos a los lenguajes de propósito general. Diseñado para ser utilizado para un conjunto específico de tareas. Herramienta específica para un trabajo concreto. 17/10/13 PL2 - Lenguajes Específicos de Dominio 4

Herramienta de Propósito General Peter Friese, itemis 17/10/13 PL2 - Lenguajes Específicos de Dominio 5

Herramienta de Propósito Específico Peter Friese, itemis 17/10/13 PL2 - Lenguajes Específicos de Dominio 6

Domain Specific Languages (DSL) La semántica del lenguaje está muy cercana al dominio de problema para el cual se diseña. Los DSL ofrecen un alto nivel de abstracción al usuario. Por tanto, están dirigidos a expertos en el dominio. Ofrecen un vocabulario controlado para su ámbito. 17/10/13 PL2 - Lenguajes Específicos de Dominio 7

Ejemplos DSL Apache Maven Automatización de la gestión y construcción de proyectos Java 17/10/13 PL2 - Lenguajes Específicos de Dominio 8

Ejemplos DSL (II) JBOSS DROOLS Reglas de negocio definidas en alto nivel, dentro de un motor de procesos 17/10/13 PL2 - Lenguajes Específicos de Dominio 9

Ejemplos DSL (III) TREW@ Modelado de procedimientos administrativos telemáticos en el marco de la administración pública en Andalucía 17/10/13 PL2 - Lenguajes Específicos de Dominio 10

Ejemplos DSL (IV) Structured Query Language (SQL) Manipulación de bases de datos relacionales 17/10/13 PL2 - Lenguajes Específicos de Dominio 11

Ejemplos DSL (V) HTML Utilizado para escribir páginas web CSS Usado para describir hojas de estilos en la web Flex, Bison o ANTLR: Para generar compiladores AWK, plantillas Wikipedia, shell scripts, etc. 17/10/13 PL2 - Lenguajes Específicos de Dominio 12

LENGUAJES ESPECÍFICOS DE DOMINIO CLASIFICACIÓN 17/10/13 PL2 - Lenguajes Específicos de Dominio 13

Clasificación de DSL Representación Visuales Textuales Implementación Internos Externos 17/10/13 PL2 - Lenguajes Específicos de Dominio 14

DSL textuales internos Utilizan la infraestructura de un lenguaje de programación existente (host). En la mayoría de las ocasiones, se implementan como librerías en el lenguaje de programación. Ejemplo: Rails Construido sobre la base de Ruby Orientado a construir aplicaciones web 17/10/13 PL2 - Lenguajes Específicos de Dominio 15

DSL textuales externos No se hospedan bajo ningún lenguaje. Desarrollados desde cero. Requiere la construcción de las etapas clásicas de un compilador. Sin embargo, no necesitan todas las complejidades que tienen los lenguajes de propósito general. 17/10/13 PL2 - Lenguajes Específicos de Dominio 16

DSL visuales internos Muchos problemas de Ingeniería del Software se analizan e interpretan mejor utilizando modelos gráficos. UML proporciona un mecanismo de extensión (profiles) para personalizar modelos para dominios y plataformas particulares. Los perfiles no modifican la semántica de UML, sino que la amplían. Se implementan mediante estereotipos, definiciones de etiquetas y restricciones. 17/10/13 PL2 - Lenguajes Específicos de Dominio 17

DSL visuales externos Los lenguajes visuales son más fáciles de analizar que los textuales. Sin embargo, el lenguaje UML y los perfiles basados en él, no son del todo sencillos para un usuario no técnico. Por ello, se desarrollan lenguajes gráficos con las semánticas apropiadas para la clase de problemas a modelar. El desarrollo de este tipo de lenguajes suele ser más complejo que uno textual. 17/10/13 PL2 - Lenguajes Específicos de Dominio 18

LENGUAJES ESPECÍFICOS DE DOMINIO HERRAMIENTAS 17/10/13 PL2 - Lenguajes Específicos de Dominio 19

Herramientas de desarrollo DSL Para dar soporte a las fases del desarrollo de un DSL, necesitamos herramientas que nos asistan en dicho proceso. Enfoque tradicional FLEX, BISON ANTLR, etc. Enfoque model-driven Eclipse (Modeling Project) MS Visual Studio (DSL Tools) MetaEdit+ etc. 17/10/13 PL2 - Lenguajes Específicos de Dominio 20

Eclipse: Edición textual Eclipse es un entorno de programación para lenguaje Java, aunque dispone de extensiones para trabajar con otros lenguajes como PHP, XML, etc. Así mismo, permite trabajar con DSLs creados por el usuario 17/10/13 PL2 - Lenguajes Específicos de Dominio 21

Eclipse: Edición visual Eclipse permite trabajar con modelos visuales basados en UML o en DSLs creados por el usuario 17/10/13 PL2 - Lenguajes Específicos de Dominio 22

LENGUAJES ESPECÍFICOS DE DOMINIO RESUMEN 17/10/13 PL2 - Lenguajes Específicos de Dominio 23

Resumen Lenguaje de programación orientado a un problema específico. Pueden ser visuales o textuales. Se pueden implementar interna o externamente. En esta asignatura, construiremos DSLs siguiendo un enfoque model-driven utilizando las facilidades que ofrece el proyecto Eclipse. 17/10/13 PL2 - Lenguajes Específicos de Dominio 24

Procesadores de Lenguajes 2 Lenguajes Específicos de Dominio Curso 2013-2014 Iván Ruiz Rube ivan.ruiz@uca.es 17/10/13 PL2 - Lenguajes Específicos de Dominio 25