Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porLeonardo Hilario Modificado hace 9 años
1
DSL Domain Specific Language (Lenguaje Especifico del Dominio)
2
Definicion : Es un lenguaje de programación diseñado para dar solución a unas tareas especificas.un lenguaje de programación Diferente a lenguajes de propósito general como C o Java. Diseñados para resolver problemas difíciles y muy comunes.
3
Otros Nombres: También son conocidos como: Little Languages Application Languages Very High Level Languages
4
DSL Aunque parezca algo nuevo los DSL surgieron hace mucho (Cobol,Fortran…) Los DSL se han ido formando con el tiempo ha medida que se han ido haciendo necesarios.
5
Ventajas: Aumento de la productividad.Son mas precisos con lo que se trabaja mas rápido. Solución expresada en el idioma y el nivel de abstracción del dominio, con lo que los expertos pueden entender, validar y modificar los programas. Los programas son auto-documentados y pueden ser reutilizados. Pueden ser usados por gente que no son programadores.
6
Desventajas: Funcionamiento pobre ya que los lenguajes de alto nivel pueden ser ineficientes. Gastos de producción pueden ser elevados. Gastos de educación de los usuarios. Duración del desarrollo muy largo(2 a 5 años) A veces es difícil o imposible eliminar errores Perdida de eficacia vs software codificado a mano.
7
EJEMPLOS:SQL Lenguaje de acceso a base de datos relaciónales. Aúna álgebra y calculo relacional para lanzar consultas con fin de recuperar información. Sencillo de usar y de aprender.
8
SQL:Lenguaje CREATE: crea un objeto en la base de datos (tabla, vista, trigger…) CREATE TABLE TABLA_NOMBRE ( my_field1 INT UNSIGNED, my_field2 VARCHAR (50), my_field3 DATE NOT NULL, PRIMARY KEY (my_field1, my_field2) )
9
SQL:Lenguaje ALTER: Modifica la estructura de un objeto (agregar columna a una tabla): ALTER TABLE TABLA_NOMBRE ( ADD NUEVO_CAMPO INT UNSIGNED )
10
SQL:Lenguaje DROP: Elimina un objeto de la base de datos. DROP TABLE TABLA_NOMBRE ALTER TABLE TABLA_NOMBRE ( DROP COLUMN CAMPO_NOMBRE1 )
11
SQL:Programas Algunos programas basados en SQL son : DB2, Oracle, SQL Server, Sybase ASE, MySQL, PostgreSQL, Firebird...
12
EJEMPLOS:MAPLE Maple es un lenguaje de programación capaz de realizar cálculos simbólicos, algebraicos y de álgebra computacional.
13
MAPLE:Lenguaje
16
EJEMPLO:VHDL Lenguaje para diseñar circuitos digitales VHDL es el acrónimo que representa la combinación de VHSIC y HDL, donde VHSIC es el acrónimo de Very High Speed Integrated Circuit y HDL es a su vez el acrónimo de Hardware Description Language.
17
VHDL:Lenguaje Puede usarse de tres maneras: Funcional: como se comporta el circuito Estructural: por componentes Mixta: combiando las 2 anteriores
18
VHDL:Lenguaje library ieee; use ieee.std_logic_1164.all; entity rfc is port( clk_i : IN std_logic; -- control inputs reset_i : IN std_logic; enable_w_i : IN std_logic; enable_r1_i : IN std_logic; enable_r0_i : IN std_logic; din_w_i : IN std_logic; dout_r1_o : OUT std_logic; dout_r0_o : OUT std_logic ); end rfc; architecture funcional of rfc is signal d:std_logic; begin process (clk_i,reset_i) begin if reset_i = '1' then d <= '0'; elsif clk_i'event and (clk_i = '1') then if enable_w_i = '1' then d<= din_w_i; end if; end process; process (enable_r0_i,enable_r1_i,d) begin if enable_r0_i = '1' then dout_r0_o <= d; else dout_r0_o <= 'Z'; end if; if enable_r1_i = '1' then dout_r1_o<= d; else dout_r1_o <= 'Z'; end if; end process; end funcional; RFC:funcional
19
VHDL:Lenguaje library ieee; use ieee.std_logic_1164.all; ENTITY Register8 IS generic (retardo: time := 1 ns); port( clk_i : IN std_logic; -- control inputs reset_i : IN std_logic; enable_w_i : IN std_logic; enable_r1_i : IN std_logic; enable_r0_i : IN std_logic; din_w_i : IN std_logic_vector (7 DOWNTO 0); dout_r1_o : OUT std_logic_vector (7 DOWNTO 0); -- data outputs dout_r0_o : OUT std_logic_vector (7 DOWNTO 0) ); END Register8 ; architecture estructura of Register8 is component rfc port( clk_i : IN std_logic; -- control inputs reset_i : IN std_logic; enable_w_i : IN std_logic; enable_r1_i : IN std_logic; enable_r0_i : IN std_logic; din_w_i : IN std_logic; dout_r1_o : OUT std_logic; -- data outputs dout_r0_o : OUT std_logic ); end component; begin rfcs: for i in 0 to 7 generate puertas: rfc port map (clk_i,reset_i,enable_w_i,enable_r1_i,enable_r0_i,din_w_i(i),dout_r1_o(i),dout_r0_o(i)); end generate; end estructura REGISTRO 8 BITS
20
VHDL:Lenguaje Un ejemplo de programa que usa VHDL es ModelSim
21
OTROS DSL’s HTML: HyperText Markup Language (lenguaje de marcas hipertextuales). Open GL (graficos 3D). Csound(crear, editar, analizar y componer música y sonido )basado en C.componer músicasonido
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.