Lógica, Tipos y Semántica:
|
|
- Francisco Javier Poblete San Martín
- hace 8 años
- Vistas:
Transcripción
1 Lógica, Tipos y Semántica: I para TAL Jornada informativa Paradigma de Lenguajes de Programación Depto de Computación FCEyN UBA 29 de noviembre de 2005
2 Índice Lógica, tipos y semántica para lenguajes de alto nivel han sido estudiados extensamente Una tendencia reciente: enfocar atención sobre 1. lenguajes de bajo nivel (o intermedios) y 2. sus entornos de ejecución (máquinas abstractas y virtuales) En esta charla Repasamos algunas motivaciones Desarrollamos un ejemplo ( ) con algunas citas que respaldan la tendencia I para TAL
3 Por más precisas que sean nuestras técnicas para inferir/probar propiedades sobre lenguajes de alto nivel, lo que termina ejecutándose es la imagen del mismo a través de un compilador Los compiladores son programas complejos Modifican sustancialmente el programa fuente a través de numerosas etapas Movilidad y distribución masiva de código vía Internet Con frecuencia creciente, el productor distribuye el código en algún formato de bajo nivel El consumidor debe poder verificar si el código cumple con su poĺıtica de seguridad/comportamiento antes de ejecutarlo Proof Carrying Code (PCC) I para TAL
4 Qué es PCC? Overview of PCC Approach Please install and execute this. OK, but let me quickly look over the instructions first. I para TAL Code producer Host Slide by Peter Lee
5 Qué es PCC? Overview of PCC Approach I para TAL Code producer Host Slide by Peter Lee
6 Qué es PCC? Overview of PCC Approach This store instruction is dangerous! I para TAL Code producer Host Slide by Peter Lee
7 Qué es PCC? Overview of PCC Approach Can you prove that it is always safe? I para TAL Code producer Host Slide by Peter Lee
8 Qué es PCC? Overview of PCC Approach Yes! Here s the proof I got from my certifying Java compiler! λ Can you prove that it is always safe? I para TAL Code producer Host Slide by Peter Lee
9 Qué es PCC? Overview of PCC Approach λ Your proof checks out. I believe you because I believe in logic. I para TAL Code producer Host Slide by Peter Lee
10 Datos confidenciales deben ser protegidos de posibles filtraciones Mecanismos convencionales como (mandatory/discretionary) access control o stack inspection se quedan cortos pues no hay control sobre la propagación de los datos una vez que se permite el acceso a los mismos I para TAL
11 Information flow apunta a imponer poĺıticas de confidencialidad en una modalidad punta-a-punta: asegurar que, una vez que los datos han sido liberados al programa, la poĺıtica de confidencialidad es respetada Poĺıtica de confidencialidad: I para TAL 1. Indicar qué información es pública, privada, etc. Ej. decorar las direcciones de memoria o variables con etiquetas de seguridad {L, H}. 2. Especificar poĺıtica de flujo de información. Ej. información puede fluír de niveles seguridad bajos a altos
12 Information Expĺıcito/Impĺıcito Flujo de información expĺıcito: y:=x Flujo de información impĺıcito: if x then y:=1 else y:=2 endif Channel: Mechanism for signaling information through a computing system [Myers,Sabelfeld2003] Aparece un covert storage channel : El programa crea un flujo de información desde x hacia y. Otros flujos de información: timing, terminación, consumo de recursos, etc. Survey: -based information flow security, A. Sabelfeld y A.Myers, 2003 I para TAL
13 Detección de flujos ímplicitos Se asigna una etiqueta al program-counter [Denning,Denning1977] Se analiza el programa infiriendo si las variables deben etiquetarse como secretas o públicas PC=L PC=lx PC=lx PC=L if x then y :=1 else y :=2 endif; z :=3 Al llegar al endif podemos volver a bajar el nivel del PC ( junction point ) Instrucciones de control de flujo guían el análisis I para TAL
14 Detección de flujos ímplicitos También se puede hacer a través de sistemas de tipos [Volpano,Smith1996;1997] Dos ejemplos de reglas de tipos Γ e : l Γ c 1 : cmd l Γ c 2 : cmd l l l I para TAL Γ if e then c 1 else c 2 endif : cmd l Γ c 1 : cmd l Γ c 2 : cmd l Γ c 1 ; c 2 : cmd l
15 No-interferencia Cómo determinamos la correctitud de nuestro análisis de flujo de información? No-interferencia [Goguen,Meseguer1982]. Una formalización posible de ausencia de filtraciones Noción semántica que establece que los inputs sólo afectan los outputs de mayor nivel de seguridad L H1 L H2 I para TAL L H1 L H2 Correctitud del sistema de tipos programas tipados verifican no-interferencia
16 I para Los obstáculos más relevantes a la hora de trasladar lógicas, sistemas de tipos y semántica a lenguajes de bajo nivel son: Ausencia de sentencias de control de flujo de alto nivel La presencia de una pila Las instrucciones de salto Estos obstáculos varían de gravedad según el problema en cuestión I para TAL
17 Qué es? Descripción ejecutiva [D.Walker, Lect. Notes, 2004]: Lenguaje assembler RISC sencillo Semántica operacional formal para una máquina abstracta Sistema de tipos formal que captura propiedades del procesador y memoria: registros, pila y heap I para TAL
18 Ejemplo en TAL fact : L2 : X.{sp : X, r 1 : int, r 2 : int, r 3 : {r 1 : int, sp : X } {}} {} ble r 1, L2 % if n<=0 goto L2 mul r 2, r 2, r 1 % a:=a*n sub r 1, r 1, 1 % n:=n-1 jmp fact[x ] % goto fact X.{sp : X, r 2 : int, r 3 : {r 1 : int, sp : X } {}} {} mov r 1, r 2 % result:=a jmp r 3 % jump to return address I para TAL
19 Algunas reglas de tipado de TAL Las reglas de tipado de TAL permiten capturar una serie de propiedades interesantes de código de bajo nivel Ilustramos algunas propiedades junto con la regla de tipado que la captura Saltos son a etiquetas válidas I para TAL Ψ; ; Γ 1 v : [].Γ 2 Γ 1 Γ 2 T Jmp Ψ; ; Γ 1 jmp v Aritmética sobre enteros Ψ; ; Γ r s : int Ψ; ; Γ v : int Ψ; ; Γ[r d := int] B T Arith Ψ; ; Γ aop r d, r s, v; B
20 Algunas reglas de tipado de TAL Más ejemplos de propiedades No puede escribirse fuera de la pila Γ(sp) = τ 1... τ i Σ Ψ; ; Γ v : σ Ψ; ; Γ[sp := τ 1... τ i 1 σ Σ] B T Sst Ψ; ; Γ sst sp[i], v; B I para TAL Bloque llamado no puede trastornar pila del llamador
21 I para TAL Problema 1 I para TAL Construcciones de flujo de control de alto nivel (encargados de guíar el proceso de tipado) se encuentran ausentes!
22 I para TAL % r 1 holds x, r 2 holds y Start : bnz r 1, L1; % if x goto L1 jmp L2 % goto else branch L1 : mov r 2, 1; % y:=1 jmp L3 I para TAL L2 : mov r 2, 2; % y:=2 jmp L3 L3 : halt
23 I para TAL % r 1 holds x, r 2 holds y Start : bnz r 1, L1; % if x goto L1 jmp L2 No debe bajar PC, L2 no es junction point! L1 : mov r 2, 1; % y:=1 jmp L3 Debe bajar PC, L3 es junction point! L2 : mov r 2, 2; % y:=2 jmp L3 Debe bajar PC, L3 es junction point! L3 : halt I para TAL
24 I para TAL Idea: adaptar linear continuations de [Myers,Zdancewic2002] a lenguaje assembler % r 1 holds x, r 2 holds y Start : bnz r 1, L1; jmp L2 L1 : mov r 2, 1; % y:=1 jmp L3 L2 : mov r 2, 2; % y:=2 jmp L3 L3 : halt % if x goto L1 No debe PC, L2 no es junction point! Debe bajar PC, L3 es junction point! Debe bajar PC, L3 es junction point! I para TAL
25 I para TAL % r 1 holds x, r 2 holds y Start : pushjp L3; Introducir continuación bnz r 1, L1; % if x goto L1 jmp L2 Obligación lineal, te acompaña! L1 : mov r 2, 1; % y:=1 jmpjp L3 Obligación lineal descargada L2 : mov r 2, 2; % y:=2 jmpjp L3 Obligación lineal descargada L3 : halt pushjp es una directiva de tipado: guía el sistema de tipos pero desaparece en tiempo de ejecución jmpjp L se comporta igual que jmp L I para TAL
26 I para TAL % r 1 holds x, r 2 holds y Start : pushjp L3; Introducir continuación bnz r 1, L1; % if x goto L1 jmp L2 Obligación lineal, te acompaña! L1 : mov r 2, 1; % y:=1 jmpjp L3 Obligación lineal descargada L2 : mov r 2, 2; % y:=2 jmpjp L3 Obligación lineal descargada L3 : halt pushjp es una directiva de tipado: guía el sistema de tipos pero desaparece en tiempo de ejecución jmpjp L se comporta igual que jmp L I para TAL
27 I para TAL % r 1 holds x, r 2 holds y Start : pushjp L3; Introducir continuación bnz r 1, L1; % if x goto L1 jmp L2 Obligación lineal, te acompaña! L1 : mov r 2, 1; % y:=1 jmpjp L3 Obligación lineal descargada L2 : mov r 2, 2; % y:=2 jmpjp L3 Obligación lineal descargada L3 : halt pushjp es una directiva de tipado: guía el sistema de tipos pero desaparece en tiempo de ejecución jmpjp L se comporta igual que jmp L I para TAL
28 I para TAL Problema 2 I para TAL La pila
29 Dos ejemplos ilustrativos En los dos ejemplos siguientes, al finalizar la ejecución del programa el componente que queda en el tope de la pila es público deja filtrar información secreta (a saber, si el contenido secreto del registro r2 es cero o no) Problema del primer ejemplo: en una rama secreta del bnz se libera un componente público de la pila Problema del segundo ejemplo: en una rama secreta se liberan componentes que no se liberan en la otra rama secreta del bnz I para TAL
30 Rama secreta libera componente público L start Code {r1 : int L, r2 : int H } L salloc 2 mov r1,0 sst sp[0],r1 mov r1,1 sst sp[1],r1 bnz r2,l high jmp L JP I para TAL L high Code {r1 : int L } H sfree 1 jmp L JP L JP Code {r1 : int L } L sld r1,sp[0]...
31 Ramas secretas liberan no. de componentes L start Code {r1 : int L, r2 : int H } L salloc 3 mov r1,0 sst sp[2],r1 mov r1,1 sst sp[1],r1 sst sp[0],r2 bnz r2, L high jmp L JP I para TAL L high Code {r1 : int L } H sfree 1 jmp L JP L JP Code {r1 : int L } L sfree 1 sld r1,sp[0]...
32 SIFTAL SIFTAL: un TAL con junction points y tipos decorados con etiquetas de seguridad. Incluye registros, heap locations y stack polimórfico Un sistema de tipos y una noción formal de no-interferencia Semántica operacional: la máquina abstracta original de TAL Prueba de type soundness: programas tipados gozan de la propiedad de no-interferencia I para TAL
33 Hay una clara tendencia a estudiar propiedades de programas escritos en lenguajes de bajo nivel como (TAL) Java bytecode (Sun) Common Intermediate (CIL, Microsoft) Muchos otros asociados a máquinas abstractas de una variada gama y sus entornos de ejecución (abstract y virtual machines) como ser JVM (Java Virtual Machine) CLR (Common Runtime) Otros: Abstract Machines for Programming Implementation, Diehl, Hartel y Sestoft, Future Generation Computing Systems, I para TAL
34 Hemos visto algunas complicaciones que surgen a la hora de analizar secure information flow en un lenguaje de bajo nivel Ausencia de sentencias de control de flujo de alto nivel Pila Saltos (en menor medida) I para TAL
35 Más allá de information flow Qué sucede con otras técnicas para estudiar lenguajes de programación: lógica, sistemas de tipos, semántica, etc? Mucha actividad Verificación (ej: lógicas à la Hoare) Propiedades de seguridad (ej: information flow, secuenciación de operaciones, lectura/escritura a memoria) Terminación y Consumo de recursos (ej: heap bounded assembly language) Optimizaciones (ej: SOOT para bytecode) Fundamentos (derivación de abstract machines a partir de semántica operacional, Isomorphismo de Curry-Howard) I para TAL
36 Gracias! I para TAL
37 Information flow flow via linear continuations, Myers y Zdancewic, 2002 Type based information flow analysis for low-level languages, Kobayashi y Kirane, 2002 Security Types Preserving Compilation, Barthe, Basu y Rezk, 2004 I para TAL Checking secure information flow in Java bytecode by code transformation an d standard bytecode verification, Bernardeschi, De Francesco, Lettieri y Martini, 2004 Non-Interference for a JVM-like, Barthe, Basu y Rezk, 2005
38 Information flow Timing aware information flow security for a javacard-like bytecode, Hedin y Sands, 2005 Information Analysis for Java Bytecode, Genaim y Spoto, 2005 A for Non-Interference, E.B., R. Medel y A. Compagnoni. ICTCS 2005 I para TAL Information- Analysis for a with Polymorphic Stacks, E.B., R. Medel y A. Compagnoni, CASSIS 2005.
GENERACIÓN DE CÓDIGO
GENERACIÓN DE CÓDIGO INTRODUCCION La generación de código es la fase más compleja de un compilador, puesto que no sólo depende de las características del lenguaje fuente sino también de contar con información
Más detallesCompiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz
Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)
Más detallesINTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA
INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Por qué Java? TIOBE Index for March 2015 Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Más detallesCLASE # 5 TÉCNICAS DE CAJA BLANCA
CLASE # 5 TÉCNICAS DE CAJA BLANCA 750105M - TÉCNICAS DE PRUEBAS DE SOFTWARE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DEL VALLE SEMESTRE 2013A - DOCENTE BEATRIZ FLORIAN GAVIRIA Basado Parcialmente
Más detallesGrupo de Procesadores de Lenguajes - Línea: Código Móvil Seguro
Grupo de Procesadores de Lenguajes - Línea: Código Móvil Seguro Francisco Bavera Martín Nordio Jorge Aguirre Marcelo Arroyo Gabriel Baum Ricardo Medel Resumen En el último tiempo Proof-Carrying Code (PCC)
Más detallesA continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante
Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,
Más detallesINF 473 Desarrollo de Aplicaciones en
INF 473 Desarrollo de Aplicaciones en Java Unidad II El Lenguaje de Programación Java Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 1 Orígenes del Lenguaje Java 1991. James
Más detallesCurso de Python Inicial
Logo IAA-CSIC Curso organizado por el Gabinete de Formación del CSIC Curso de Python Inicial Clases Contenidos 1. Paradigmas de la Programación 2. Programación Orientada a objetos 3. Clases 4. Objetos
Más detalles1. Manejo de memoria estática 2. Manejo de memoria dinámica
1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo
Más detallesLABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD
LABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD GUÍA DE LABORATORIO Nº 1O Actividad de Proyecto No. 12: ESTABLECER PLANES DE RESGUARDO, RESTAURACION Y CONTINGENCIA. Copias de
Más detallesComunicación con la Computadora
Comunicación con la Computadora Programación Básica Copyright CARIMOBITS Comunicación con la computadora Se logra a través de lenguajes de computadoras o lenguajes de programación. Tipos de lenguajes de
Más detallesTema 1. Introducción a JAVA
Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems
Más detallesCloud Security Alliance. Recomendaciones de Seguridad para Usuarios
Cloud Security Alliance Recomendaciones de Seguridad Contenido Qué es el Cloud Computing?... 2 Modelos de Servicios... 2 Modelos de Implementación... 3 Recomendaciones a los Usuarios para la adopción del
Más detallesPráctica 4. Introducción a la programación en lenguaje ensamblador
Enunciados de prácticas Práctica 4. Introducción a la programación en lenguaje ensamblador Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Práctica 4:
Más detallesIntroducción a Java. Diseño y Programación Orientados a Objetos 1
Introducción a Java Diseño y Programación Orientados a Objetos 1 Java: Motivaciones de su origen Deja atrás características problemáticas : Punteros Asignación de memoria (malloc) Herencia múltiple (se
Más detallesUso de excepciones en Java
Uso de excepciones en Java En Java, cuando se produce un error en un método, se lanza un objeto Throwable. Cualquier método que haya llamado al método puede capturar la excepción y tomar las medidas que
Más detallesANÁLISIS SEMÁNTICO. Especificación formal: Semántica Operacional, semántica denotacional, semántica Axiomática, Gramáticas con Atributos.
ANÁLISIS SEMÁNTICO El análisis semántico dota de un significado coherente a lo que hemos hecho en el análisis sintáctico. El chequeo semántico se encarga de que los tipos que intervienen en las expresiones
Más detallesVisual Studio 2008 es el conjunto de herramientas de
1. VISUAL STUDIO 2008 Visual Studio 2008 es el conjunto de herramientas de desarrollo y programación creado por Microsoft tanto para aplicaciones Windows como aplicaciones web. La aparición de Visual Studio
Más detallesIntegración de NetBeans con OpenOffice.org
Integración de NetBeans con OpenOffice.org Índice de contenido Licencia...1 Alcance...1 Antrecedentes...1 Instalación del módulo de desarrollo en NetBeans...2 Configurar...7 Creando una función para Calc...8
Más detallesIntroducción a Java LSUB. 15 de enero de 2015 GSYC
Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada
Más detallesservicios. El API es definido al nivel de código fuente y proporciona el nivel de
GLOSARIO API Application Program -ming- Interface Es la interfaz por la cual una aplicación accede al sistema operativo u a otros servicios. El API es definido al nivel de código fuente y proporciona el
Más detallesTiempo de Compilación. Programa fuente. Secuencia. de caracteres. Scanner. Secuencia. de símbolos Parser. Compilador.
ORGANIZACIÓN DE LA MEMORIA EN TIEMPO DE EJECUCIÓN Compilador Tiempo de Compilación Programa fuente Secuencia de caracteres Scanner Secuencia de símbolos Parser Árbol sintáctico Analizador semántico Generador
Más detallesWindows Server 2012: Infraestructura de Escritorio Virtual
Windows Server 2012: Infraestructura de Escritorio Virtual Módulo 1: Application Virtualization Módulo del Manual Autores: James Hamilton-Adams, Content Master Publicado: 5 de Octubre 2012 La información
Más detallesJava en 2 horas. Rodrigo Santamaría
+ Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión
Más detallesSOR -::- Prácticas -::- Curso 05/06. RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX.
RPC RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX. El RPC es una interfaz de programación de aplicación (API) disponible para el desarrollo de
Más detallesManual del Usuario Groupware
Manual del Usuario Groupware por Dionisio Antón (antond@quersystem.com) v1.0 Con este manual usted podrá trabajar con la herramienta Groupware de la plataforma Open-Xchange Índice: 1 Portal... 2 2 Calendario...
Más detalles! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes
Modificador final Introducción a la Programación IV Curso de Programación en Java Luis Guerra l.guerra@upm.es Enero 2012 Una variable declarada con final no puede volver a ser reinicializada final int
Más detallesMANUAL SISTEMA ENCRIPTACIÓN DE HECHOS RESERVADOS
MANUAL SISTEMA ENCRIPTACIÓN DE HECHOS RESERVADOS Introducción El sistema de encriptación de hechos reservados nació por la necesidad de proveer un canal más seguro que el que anteriormente existía mediante
Más detallesJava Inicial (20 horas)
Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción
Más detallesINGENIERÍA DE SOFTWARE ADMINISTRACION DE CONFIGURACIONES Rubby Casallas, Juan Pablo Quiroga, Andrés Yie
INGENIERÍA DE SOFTWARE ADMINISTRACION DE CONFIGURACIONES Rubby Casallas, Juan Pablo Quiroga, Andrés Yie Departamento de Sistemas y Computación Facultad de Ingeniería Universidad de los Andes Agenda 2 Problema
Más detallesIntroducción al.net Framework. Introducción al.net Framework. Diseño Basado en Componentes. Curso 2008 / 09. Diseño Basado en Componentes
Introducción al.net Framework Diseño Basado en Componentes Introducción al.net Framework Arquitectura.NET Herramientas, lenguajes y tecnologías.net.net Framework Ingeniería Informática Universidad Carlos
Más detallesManual del Usuario. Actualización del RUT en 3 pasos con la nueva clasificación de actividades económicas V 1.1. Enero de 2013
Manual del Usuario Actualización del RUT en 3 pasos con la nueva clasificación de actividades económicas V 1.1 Enero de 2013 Contenido 1. Introducción... 3 2. Objetivos... 4 3. El MUISCA... 4 4. Ingreso
Más detalles3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE
3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE Software Configuration Management (SCM) es una disciplina de la Ingeniería de Software que se preocupa de [Ber92] [Ber84] [Bou98] [Mik97]: Identificar y documentar
Más detallesCOMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX
COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor
Más detallesProgramador en Plataforma Java y XML
Programador en Plataforma Java y XML Java Fundamentos Módulo 1: Java Básico Introducción En la presente unidad, se detalla los fundamentos de la tecnología Java, reconociendo las 3 plataformas que la conforman.
Más detallesPROGRAMACIÓN PÁGINAS WEB CON PHP
PROGRAMACIÓN PÁGINAS WEB CON PHP Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript y la programación de la parte servidor con la tecnología
Más detallesBPMN Business Process Modeling Notation
BPMN (BPMN) es una notación gráfica que describe la lógica de los pasos de un proceso de Negocio. Esta notación ha sido especialmente diseñada para coordinar la secuencia de los procesos y los mensajes
Más detallesInfraestructura Tecnológica. Sesión 8: Configurar y administrar almacenamiento virtual
Infraestructura Tecnológica Sesión 8: Configurar y administrar almacenamiento virtual Contextualización Como sabemos, actualmente los servicios y medios de almacenamiento de información son muy variados,
Más detallesLABORATORIO Nº 1 Sistemas de Información asociados a los Formularios en Excel
OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante del concepto de los sistemas de información y su rol en una organización asociados a utilizar formularios en Microsoft
Más detallesGuía de Instalación para clientes de WebAdmin
Panda Managed Office Protection Guía de Instalación para clientes de WebAdmin Tabla de contenidos 1. Introducción... 4 2. Instalación de Panda Managed Office Protection a partir de una instalación de Panda
Más detallesMódulo 2. Inicio con Java
Módulo 2. Inicio con Java Objetivos: -Clasificar el lenguaje de programación Java según las formas de clasificar los lenguajes de programación. -Describir el funcionamiento de la plataforma Java. -Explicar
Más detallespicojava TM Características
picojava TM Introducción El principal objetivo de Sun al introducir Java era poder intercambiar programas ejecutables Java entre computadoras de Internet y ejecutarlos sin modificación. Para poder transportar
Más detallesPART II: Moviendo al jugador
UNITY PART II: Moviendo al jugador El movimiento se lo vamos a dar a través de un programa Definición de programa: Un programa es una secuencia de instrucciones, escritas para realizar una tarea específica
Más detallescomunidades de práctica
1. Introducción CoSpace es una plataforma web diseñada para proporcionar un espacio virtual de interacción y colaboración entre formadores en comunidades virtuales. Se originó como resultado de las necesidades
Más detallesTutorial Básico de vbscript
Tutorial Básico de vbscript Bueno, primero aclarar que este tutorial, pretende explicar de manera básica las distintas instrucciones aplicadas en visual basic script (vbs de aquí en más), para que así
Más detallesActividad 2: Configurar e Instalar un Sistema Operativo virtual
Mantenmiento Unidad 3 Actividad 2: Configurar e Instalar un Sistema Operativo virtual VirtualBox soporta la virtualización de los siguientes sistemas operativos: Microsoft Windows GNU/Linux Mac OS X OS/2
Más detallesManual de usuario del Centro de Control
Manual de usuario del Centro de Control www.ximdex.com Tabla de contenidos 1. Centro de Control...4 2. Gestor de Canales...5 2.1. Añadir un nuevo canal...6 2.2. Modificar las propiedades del canal...6
Más detallesExamen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1
Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio
Más detallesCapítulo 3 Instalación de OMNET
Capítulo 3 Instalación de OMNET Capítulo 3. Instalación de OMNET E n este capítulo se explica la instalación de OMNET y del INET Framework en ambiente Windows 7, para un sistema operativo de 64 bits. Para
Más detallesEl lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */
Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones
Más detallesTutorial: Cómo realizar tu primer programa en C++ En el Sistema Operativo Windows
Tutorial: Cómo realizar tu primer programa en C++ En el Sistema Operativo Windows Lo primero que hay que tener en cuenta para poder hacer nuestro primer programa en C++ es que necesitamos ciertas herramientas
Más detallesGuía de instalación de la carpeta Datos de IslaWin
Guía de instalación de la carpeta Datos de IslaWin Para IslaWin Gestión CS, Classic o Pyme a partir de la revisión 7.00 (Revisión: 10/11/2011) Contenido Introducción... 3 Acerca de este documento... 3
Más detallesProfesor(a): Ing. Miriam Cerón Brito
Área Académica: Informática Tema: Ambiente Windows Profesor(a): Ing. Miriam Cerón Brito Periodo: Enero Junio 2014 Abstract: In this presentation you can find basic information for know and manage the operative
Más detalles1. INTRODUCCIÓN Y OBJETIVOS
1. INTRODUCCIÓN Y OBJETIVOS Los teléfonos móviles son ya parte esencial en nuestra forma de vida y cada día son más los usuarios de estos terminales. Hasta ahora nos han acompañado a todas partes y nos
Más detallesENVÍO DE E-MAIL POR MEDIO DE SMTP
UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE ELECTRÓNICA ELO 322: REDES DE COMPUTADORES I ENVÍO DE E-MAIL POR MEDIO DE SMTP Alumnos Ariel Mancilla G. 2521040-9 Daniel Spataris J. 2521029-8
Más detalles.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...
.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS Definiciones...2 C# y Java.....3 Similitudes...4 Ventajas...4 Definiciones Sobre J2EE J2EE (Java 2 Platform Enterprise Edition)
Más detallesInducción al Laboratorio de Informática
Inducción al Laboratorio de Informática La Escuela Colombiana de Ingeniería cuenta con varios Laboratorios, los cuales están a disposición de los estudiantes, profesores y todo el personal administrativo.
Más detallesTEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA
TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido
Más detallesObjetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
Más detallesCapitulo 6. Como echarle el muerto a alguien.
Capitulo 6 Como echarle el muerto a alguien. Una de las cosas más importantes en una programación es tener un sistema que permite echarle el muerto a alguien. Dicho de manera elegante, el sistema debe
Más detallesPráctica 0. Emulador XENON de la computadora CESIUS
Práctica 0. Emulador XENON de la computadora CESIUS 1. Introducción El objeto de la presente práctica es permitir al alumno ensayar y familiarizarse con los conceptos de programación de computadoras digitales
Más detallesCRM. Qué es CRM. Información para la Gestión
CRM Qué es CRM Es una estrategia de negocios orientada a la fidelización de clientes, enfocándose en que cada empleado de la empresa tenga información actualizada y confiable de los mismos, con el objetivo
Más detallesJAVA EE 5. Arquitectura, conceptos y ejemplos.
JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones
Más detallesAplicación práctica de la visión artificial en el control de procesos industriales
Aplicación práctica de la visión artificial en el control de procesos industriales Conocimientos básicos de comunicaciones ETHERNET/IP con CJ2M, Xpectia y NS Fecha: Junio 2012 1 ÍNDICE 1.PRIMER PASO...
Más detallesPráctica 3: Programación con subrutinas
Práctica 3: Programación con subrutinas 3.1 Objetivos El objetivo de esta práctica es estudiar el soporte del ensamblador del ARM para la gestión de subrutinas, para lo que resulta necesario familiarizarse
Más detallesServidor. Comenzaremos por confirmar que el servicio NFS esta instalado y ejecutandose desde la terminal, escribiremos lo siguiente: #rpm -q nfs-utils
NFS Red Hat Enterprise Linux 6 provee dos mecanismos para compartir archivos y carpetas con otros sistemas operativos por medio de la red. Una de las opciones es utilizar una tecnologia llamada samba.
Más detalles1. Descripción y objetivos
Pruebas 1 1. Descripción y objetivos Las pruebas son prácticas a realizar en diversos momentos de la vida del sistema de información para verificar: El correcto funcionamiento de los componentes del sistema.
Más detallesPasos para obtener un alojamiento gratuito o Hosting y colgar nuestra pagina Web en Internet.
Pasos para obtener un alojamiento gratuito o Hosting y colgar nuestra pagina Web en Internet. Existen bastantes alternativas de alojamientos gratuitos, algunos de ellos pueden ser: http://www.byethost.com
Más detallesMovistar Imagenio Keteké (Comunidad MoviStar) MANUAL DE USUARIO
Keteké (Comunidad MoviStar) MANUAL DE USUARIO Versión: 1 Publicación: Mayo 2010 Este manual de servicio es propiedad de Telefónica de España SAU, queda terminante prohibida la manipulación total o parcial
Más detallesDiseño de aplicaciones móviles seguras en Android. alvaro.ospina@upb.edu.co aospina@gmail.com
Diseño de aplicaciones móviles seguras en Android alvaro.ospina@upb.edu.co aospina@gmail.com Agenda Que es Android? Historia? Arquitectura Herramientas Medidas de seguridad Que es Android? Pila de software
Más detalles"Programación en Ensamblador del microprocesador Pentium (I)"
PRÁCTICA 3 "Programación en Ensamblador del microprocesador Pentium (I)" ÍNDICE 3.1.- El microprocesador Pentium. 3.2.- Inserción de ensamblador en Visual Studio. 3.3.- Facilidades para la depuración de
Más detallesWorkflows? Sí, cuántos quiere?
Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención
Más detallesPortafolio de servicios
Portafolio de servicios Calle 613 No. 175 Oficina J, Col. Aragón 4ª y 5ª Sección, México, D.F. Teléfonos: 63.85.75.55 y 63.83.06.37 www.aztecsoluciones.com Aztec Soluciones Tecnológicas, S.A. de C.V. es
Más detallesEl salto a las nuevas tecnologías de la formación
El salto a las nuevas tecnologías de la formación Por qué te interesa poner en marcha tu AULA VIRTUAL? Para disponer de una plataforma de formación online con unos costes ajustados a tu presupuesto. Dos
Más detallesEntorno de Ejecución del Procesador Intel Pentium
Arquitectura de Ordenadores Arquitectura del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Entorno de Ejecución del Procesador
Más detallesRequerimientos principales de un sistema operativo
Descripción y control de procesos Requerimientos principales de un sistema operativo Intercalar la ejecución de varios procesos para maximizar el uso del procesador proporcionando un tiempo de respuesta
Más detallesEstructuras de Control - Diagrama de Flujo
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1.
Más detallesFREEDOS 1.0. CURSO DE TÉCNICO EN SEGURIDAD DE REDES Y SISTEMAS José María Torres Corral
FREEDOS 1.0. CURSO DE TÉCNICO EN SEGURIDAD DE REDES Y SISTEMAS José María Torres Corral 2011 m a r t e s, 0 8 d e m a r z o d e 2 0 1 1 1 Tabla de contenido 2... Requisitos para la instalación... 2 3...
Más detallesMigrando WSS 2.0 a WSS 3.0
Migrando WSS 2.0 a WSS 3.0 Para poder realizar una migración exitosa de Windows SharePoint Services 2.0 a Windows SharePoint Services 3.0 es necesario seguir una serie de pasos, los cuales veremos detalladamente
Más detallesDEMO de EncuestaFacil.com
DEMO de EncuestaFacil.com Todo el proceso de investigación en tres sencillos pasos 1 Diseñar Cuestionarios a medida 2 Recopilar Al instante las respuestas 3 Analizar Los resultados en tiempo real 1 Sigue
Más detallesIntroducción a la extensión de scripting en gvsig 2.0
Introducción a la extensión de scripting en gvsig 2.0 2012 gvsig Association Este documento se distribuye con la licencia Creative Commons 1 2 Índice de contenido 1 Introducción... 3 Instalación de la
Más detallesSintaxis y Convenciones de Java. M. en C. Erika Vilches
Sintaxis y Convenciones de Java M. en C. Erika Vilches Estructura del Código en Java Hay una clase en un archivo fuente Hay métodos en una clase Hay enunciados en un método Anatomía de una Clase Cuando
Más detallesPROGRAMACIÓN WEB I SEMANA 7 ESTE DOCUMENTO CONTIENE LA SEMANA 7
PROGRAMACIÓN WEB I SEMANA 7 1 ÍNDICE MANEJO DE EVENTOS EN JAVA... 3 INTRODUCCIÓN... 3 APRENDIZAJES ESPERADOS... 3 MANEJO DE EVENTOS EN JAVA (AWT y SWING)... 4 CONCEPTOS BÁSICOS EN EL MANEJO DE EVENTOS...
Más detallesDiseño de páginas web 2011
Diseño de páginas web 2011 Al finalizar el curso, el alumno será capaz de planificar y diseñar correctamente desde sencillas páginas web hasta completos sitios web. Para ello, se le proporciona primero
Más detallesREQUISITOS DE HARDWARE...
Tabla de Contenido 1. INTRODUCCIÓN... 2 2. REQUISITOS DE HARDWARE... 3 3. REQUISITOS DE SOFTWARE... 4 4. INSTALACIÓN DEL SOFTWARE ADICIONAL... 5 4.1 IDENTIFICANDO EL TIPO DE SISTEMA OPERATIVO... 5 4.2
Más detallesINTRODUCCIÓN A JAVA. Índice
INTRODUCCIÓN A JAVA Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía 2 1 Qué es Java? La tecnología Java
Más detallesTema 6: Generación de código (parte 2)
Tema 6: Generación de código (parte 2) Procesamiento de Lenguajes Dept de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 6: Generación de código (parte 2) 1 /
Más detallesPráctica de introducción a
Práctica de introducción a XML El trabajo consiste en una introducción al uso del lenguaje XML y su aplicación en documentos y sistemas de caracteristicas multimedia. 1.- Qué es XML? XML (extensible Markup
Más detallesG Data Informe técnico. Behaviour Blocking. (Escudo de comportamiento) Go safe. Go safer. G Data. Marco Lauerwald Marketing
G Data Informe técnico Behaviour Blocking (Escudo de comportamiento) Marco Lauerwald Marketing Go safe. Go safer. G Data. Indice 1 Behaviour Blocking Objetivo: Combatir amenazas desconocidas... 2 1.1 Parásitos
Más detallesAcceda al Operador que más le conviene. con toda comodidad. Preselección de Operador de Telefonía fija INC INSTITUTO NACIONAL DEL CONSUMO
Preselección de Operador de Telefonía fija Acceda al Operador que más le conviene con toda comodidad Comisión del Mercado de las Telecomunicaciones INC INSTITUTO NACIONAL DEL CONSUMO Desde la liberalización
Más detallesUnidad II. Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar
Clase:005 1 Unidad II Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar 2 Agenda Desarrollo de Apps para Android Aplicaciones en Android Componentes Básicos de las Aplicaciones
Más detallesTutorial para la comunicación TCP en el BMS Server
Tutorial para la comunicación TCP en el BMS Server Contenido 1. Pasos iniciales para trabajar empleando conexión TCP... 2 2. Configuración de la conexión TCP... 4 2.1. Comprobación de la conexión TCP...
Más detallesCapítulo 1 Introducción a la Computación
Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:
Más detallesREQUISITOS PARA LA FIRMA DIGITAL
REQUISITOS PARA LA FIRMA DIGITAL 1 Contenido Capítulo/sección Página 1 Introducción. 3 2 Restricciones. 4 3 Máquina Virtual de Java 5 3.1 Abrir Panel de Control de Java 5 3.2 Verificación de versión desde
Más detalleshay alguien ahi? por Marcelino Alvarez maralvilla@gmail.com
hay alguien ahi? por Marcelino Alvarez maralvilla@gmail.com Un repaso a las estadísticas de lectura tanto de la página web como de la revista digital, para ver si alguien se acuerda de nosotros. Ya podemos
Más detallesPROCESO GESTION ADMINISTRATIVA PROCEDIMIENTO VERIFICACION, REGISTRO Y DISTRIBUCIÓN Y CLASIFICACION DE DOCUMENTOS DIGITALES
Versión 2.0 Página 1 de 5 1. OBJETIVO Garantizar que las comunicaciones oficiales de entrada, internas y de salida, radicadas en la ventanilla de correspondencia de Sede de la Dirección General, Regionales
Más detallesANEXO : PERFILES. Guía de Comunicación Digital para la Administración General del Estado. ANEXO PERFILES
ANEXO : PERFILES Guía de Comunicación Digital para la Administración General del Estado. ANEXO PERFILES ANEXO: PERFILES. 3 1. REQUISITOS ANTES DE TENER EL SITIO WEB. 4 1.1 TOMA DE REQUISITOS. 4 1.2 ANÁLISIS
Más detallesProgramación de código seguro
Programación de código seguro Distinción de vulnerabilidades Stack OverFlow y Heap OverFlow Comunes en lenguajes y aplicaciones de escritorio TOP 10 OWASP Muchas otras Stack OverFlow Stack OverFlow: Ejemplo
Más detalles3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)
3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.
Más detallesSUBIR LAS ACTIVIDADES DE HOTPOTATOES A UN SITIO WEB
SUBIR LAS ACTIVIDADES DE HOTPOTATOES A UN SITIO WEB Tutorial elaborado por la Prof. Viviana Ponce para el curso de la Diplomatura: Enseñanza de lengua extranjera y medios Existen en la WWW diversos sitios
Más detalles