Especificando interacción con recursos compartidos (EN CONSTRUCCIÓN: NO IMPRIMIR)

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Especificando interacción con recursos compartidos (EN CONSTRUCCIÓN: NO IMPRIMIR)"

Transcripción

1 Especificando interacción con recursos compartidos (EN CONSTRUCCIÓN: NO IMPRIMIR) Julio Mariño Universidad Politécnica de Madrid Babel research group Concurrencia, marzo 2017 Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

2 motivación: interacción a alto nivel concurrencia en 3 igualdades concurrencia = ejec. simultánea + indeterminismo + interacción interacción = comunicación + sincronización sincronización = exclusión mutua + sincronización por condición hasta ahora, hemos realizado la comunicación mediante compartición de variables entre varios procesos la sincronización la hemos llevado a cabo con mecanismos de bajo nivel, como espera activa o semáforos. la sincronización de exclusión mutua se resuelve trivialmente mediante semáforos, pero la sincronización por condición no siempre es sencilla de programar usando semáforos. en la segunda mitad del curso estudiaremos mecanismos más avanzados de programar sincronización por condición Como quiera que estos mecanismos son relativamente dependientes del lenguaje, necesitamos una manera independiente del lenguaje de especificar en qué consiste la interacción dentro de un sistema concurrente. Esto nos permitirá definir un problema y resolverlo en diferentes lenguajes, guiar la generación de código mediante patrones, estudiar la corrección (o equivalencia) de nuestras soluciones, analizar propiedades de un sistema (riesgos de inanición, interbloqueo, etc.) Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

3 una visión abstracta de la interacción procesos vs. recursos para especificar la interacción entre procesos de una manera completamente independiente de su implementación en un determinado lenguaje debemos modelar el comportamiento observable a lo largo del tiempo del sistema concurrente para ello: especificaremos por separado procesos y puntos de interacción, a los que llamaremos recursos compartidos, de tal manera que toda la interacción visible entre los procesos tendrá lugar a través de dichos recursos compartidos. identificaremos acciones atómicas que los procesos realizan sobre los recursos. Estas acciones atómicas sólo podrán ser observadas en su totalidad y su efecto es serializable, es decir, el efecto de dos o más acciones es equivalente a ejecutarlas en secuencia (sin solape). La comunicación entre procesos tiene lugar a través de las acciones que se realizan sobre un recurso compartido, ya que las acciones pueden devolver valores asociados con el estado interno de un recurso. La sincronización de exclusión mutua está impĺıcita en la atomicidad y serializabilidad mencionada anteriormente. La sincronización por condición viene dada como una restricción sobre el conjunto de todos los entrelazados posibles de las acciones sobre un recurso Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

4 procesos vs. recursos ejemplo: contador compartido incr 1 decr 1 incr 2 contador decr 2 incr 3 decr 3 Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

5 procesos vs. recursos ejemplo: contador compartido incr 1 contador decr 1 incr 2 inc dec decr 2 n incr 3 decr 3 trazas: comunicación: tiene lugar a través de los cambios en el valor del contador: inc dec dec [n = 0] [n = 1] [n = 0] [n = 1] sincronización: al no haber sincronización por condición, todos los entrelazados son válidos: inc; dec; dec; dec; inc; inc; dec; inc; inc; dec; dec; etc. Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

6 procesos vs. recursos ejemplo: aparcamiento parking barr e ent sal barr s n no todos los entrelazados son válidos: si la capacidad del aparcamiento es 3 e inicialmente está vacío: ent; sal; ent; ent; sal; ent; ent; (es válida) ent; ent; ent; sal; ent; ent; (no es válida) Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

7 procesos vs. recursos ejemplo: almacén de un dato prod 1 cons 1 almacen1 prod 2 alm(x) ext cons 2 haydato? d prod 3 cons 3 trazas válidas: alm(1); ext/1; alm(2); ext/2; alm(3); ext/3;... trazas no válidas: ext/42;... alm(1); alm(2);... alm(1); ext/1; ext/1;... Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

8 procesos vs. recursos ejemplo: almacén de n datos prod 1 almacen3 cons 1 prod 2 alm(x) ext cons 2 sec prod 3 cons 3 Algunas trazas no válidas para el caso de 1 dato, lo son si pasamos a más de un dato (p.ej. 2): alm(1);alm(2);ext/1;ext/2;... Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

9 procesos vs. recursos ejemplo: lectores/escritores lect 1 lect/esc escr 1 lect 2 leer escribir escr 2 doc lect 3 escr 3 Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

10 procesos vs. recursos ejemplo: lectores/escritores lect 1 escr 1 lect/esc lect 2 IL IE escr 2 FL l e FE lect 3 escr 3 trazas válidas: IL; FL; IE; FE; IL; IL; FL; FL; IE; FE;... trazas no válidas: IL; IE; FE; IL; IL; FL; FL; IE; FE; FL;... Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

11 sincronización como lenguaje de un autómata contador compartido inc inc inc inc inc dec dec dec dec dec Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

12 sincronización como lenguaje de un autómata aparcamiento ent ent ent sal sal sal Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

13 sincronización como lenguaje de un autómata almacén de un dato alm vacío lleno ext Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

14 sincronización como lenguaje de un autómata almacén de un dato alm(x) x ext / return(x) Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

15 sincronización como lenguaje de un autómata lectores/escritores IE IL IL IL 0/1 0/0 1/0 2/0 3/0... FE FL FL FL Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

16 un lenguaje formal para especificar recursos compartidos CTADs Objetivo: tener una representación compacta, formal y no ambigua para expresar una máquina (posiblemente infinita) de estados Un CTAD contiene una declaración del estado interno del recurso compartido (DOMINIO) y una interfaz con las acciones atómicas permitidas sobre el recurso. La sincronización por condición se especifica declarando una fórmula (CPRE) que debe cumplirse para que una acción se efectúe. La comunicación se especifica mediante el cambio de estado del recurso producido por la ejecución de una acción más el valor retornado a los procesos tras ejecutar la acción. Otra fórmula (POST) especifica formalmente esto. Los CTADs definen, en general, un autómata no determinista. Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

17 ejemplo: contador compartido C-TAD Contador OPERACIONES ACCIÓN inc: ACCIÓN dec: SEMÁNTICA DOMINIO: TIPO: Contador = Z INVARIANTE: cierto INICIAL: self = 0 CPRE: Cierto inc() POST: self = self pre + 1 CPRE: Cierto dec() POST: self = self pre 1 Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

18 ejemplo: aparcamiento C-TAD Parking OPERACIONES ACCIÓN ent: ACCIÓN sal: SEMÁNTICA DOMINIO: TIPO: Parking = Z INVARIANTE: 0 self CAP INICIAL: self = 0 CPRE: self < CAP ent() POST: self = self pre + 1 CPRE: Cierto sal() POST: self = self pre 1 ejercicio: define un CTAD equivalente que cuente huecos en vez de coches. Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

19 ejemplo: almacén de un dato C-TAD Almacén1Dato OPERACIONES ACCIÓN almacenar: Tipo Dato[e] ACCIÓN extraer: Tipo Dato[s] SEMÁNTICA DOMINIO: TIPO: Almacén1Dato = (Dato: Tipo Dato HayDato: B) INVARIANTE: cierto INICIAL: self.haydato CPRE: self.haydato almacenar(e) POST: self.dato = e pre self.haydato CPRE: self.haydato extraer(e) POST: e = self pre.dato self.haydato Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

20 ejemplo: lectores/escritores C-TAD GestorLE OPERACIONES ACCIÓN IL, FL, IE, FE: SEMÁNTICA DOMINIO: TIPO: GestorLE = (l : N e : N) INICIAL: self.l = 0 self.e = 0 INVARIANTE: self.l > 0 self.e = 0 self.e > 0 self.e = 1 self.l = 0 CPRE: self.e = 0 IL() POST: self.e = 0 self.l = self pre.l + 1 CPRE: Cierto FL() POST: self.e = 0 self.l = self pre.l 1 CPRE: self.e = 0 self.l = 0 IE() POST: self.l = 0 self.e = 1 CPRE: Cierto FE() POST: self.l = 0 self.e = 0 Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20

Diseño de sistemas concurrentes

Diseño de sistemas concurrentes Diseño de sistemas concurrentes Manuel Carro Universidad Politécnica de Madrid Necesidad de diseño Hasta ahora, problemas ya cerrados: Número de procesos, recursos Código de procesos Especificación de

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

Expresiones y sentencias

Expresiones y sentencias Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En C, todas las sentencias

Más detalles

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo Tutorial Contenido 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo 1. El proceso Fases soportadas por UML Análisis de requisitos de usuario Análisis de requisitos de software Diseño de la plataforma

Más detalles

Especificación de TAD. Lección 2

Especificación de TAD. Lección 2 Especificación de TAD Lección 2 Esquema Características generales de una especificación Especificación algebraica Especificación no formal Lectura recomendada: sección 1.3 del libro de Z.J. Hernández et

Más detalles

Teoría de Modelos Finitos: Motivación

Teoría de Modelos Finitos: Motivación Teoría de Modelos Finitos: Motivación IIC3260 IIC3260 Teoría de Modelos Finitos: Motivación 1 / 29 Poder expresivo de una lógica: Caso finito Desde ahora en adelante nos vamos a concentrar en las estructuras

Más detalles

TEMA 6: INTRODUCCIÓN A UML

TEMA 6: INTRODUCCIÓN A UML TEMA 6: INTRODUCCIÓN A UML Por qué modelamos? El modelado es una parte central de todas las actividades que conducen a la producción de un software de calidad. Como tal la ingeniería software debe basarse

Más detalles

Lección 10: Ejemplos de programación con semáforos

Lección 10: Ejemplos de programación con semáforos Lección 10: Ejemplos de programación con semáforos El problema de la cena de los filósofos El problema de los lectores y escritores Ejercicios Gestión de concurrencia mediante paso de testigo (implementación

Más detalles

1. Computadores y programación

1. Computadores y programación 1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la

Más detalles

Unidad II: Análisis semántico

Unidad II: Análisis semántico Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

16 Análisis sintáctico I

16 Análisis sintáctico I 2 Contenido Recordando la estructura de un compilador Recordando el análisis léxico l análisis sintáctico Comparación con el análisis léxico l Rol del Parser Lenguajes de programación Gramáticas structura

Más detalles

ARQUITECTURAS DE SOFTWARE

ARQUITECTURAS DE SOFTWARE ARQUITECTURAS DE SOFTWARE 1. DEFINICIÓN: La arquitectura de software de un programa o de un sistema computacional está definida por la estructura, comprendida por los elementos de software, las propiedades

Más detalles

Estructuras Secuénciales

Estructuras Secuénciales Estructuras Secuénciales Los algoritmos más sencillos de realizar son los que no toman decisiones, tan solo se dedican a realizar o ejecutar instrucción tras instrucción en el orden determinado. Estos

Más detalles

Tecnología de software para sistemas de tiempo real

Tecnología de software para sistemas de tiempo real 1 dit UPM Tecnología de software para sistemas de tiempo real Juan Antonio de la Puente DIT/UPM Motivación Las herramientas y la tecnología de software que se usan para construir otros tipos de sistemas

Más detalles

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Concurrencia. CURSO ACADÉMICO - SEMESTRE Segundo semestre

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Concurrencia. CURSO ACADÉMICO - SEMESTRE Segundo semestre ANX-PR/CL/001-02 GUÍA DE APRENDIZAJE ASIGNATURA Concurrencia CURSO ACADÉMICO - SEMESTRE 2015-16 - Segundo semestre GA_10II_105000018_2S_2015-16 Datos Descriptivos Nombre de la Asignatura Titulación Centro

Más detalles

Expositor: Mauricio Galvez Legua

Expositor: Mauricio Galvez Legua ó Expositor: Mauricio Galvez Legua mgl10may62@hotmail.com 1 Qué es la ó La Robótica es una ciencia aplicada que se ocupa del estudio, desarrollo y aplicaciones de los robots. El estudio de la robótica

Más detalles

Materia: Sistemas Operativos

Materia: Sistemas Operativos Carrera: Licenciatura en Sistemas Materia: Sistemas Operativos Docentes: Prof. Hernán Merlino Prof. Pablo Pytel Año: 2016 Cuatrimestre: Primero 1- Fundamentación de la Asignatura y Objetivos del Alumno:

Más detalles

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN PRODUCCIÓN INDUSTRIAL. UNIDAD DE APRENDIZAJE: PROGRAMACIÓN Créditos institucionales de la UA: 6 Material visual: Diapositivas Unidad de competencia

Más detalles

Concurrencia. Concurrencia

Concurrencia. Concurrencia Concurrencia Procesos y hebras Concurrencia Programación concurrente Por qué usar hebras y procesos? Ejecución de procesos Ejecución de hebras Hebras vs. Procesos Creación y ejecución de hebras La prioridad

Más detalles

Mercedes Granda Departamento de Electrónica y Computadores. Las propiedades de las redes de Petri nos permiten

Mercedes Granda Departamento de Electrónica y Computadores. Las propiedades de las redes de Petri nos permiten 22//22 REDES DE PETRI: PROPIEDADES Y MÉTODOS DE ANÁLISIS PROGRAMACIÓN CONCURRENTE MASTER EN COMPUTACIÓN DEPARTAMENTO DE ELECTRÓNICA Y COMPUTADORES UNIVERSIDAD DE CANTABRIA CURSO 22/3 REDES DE PETRI: PROPIEDADES

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

Más detalles

ESCUELA DE INGENIERIA Informática Y Sistemas

ESCUELA DE INGENIERIA Informática Y Sistemas ESCUELA DE INGENIERIA Informática Y Sistemas ASIGNATURA SISTEMAS OPERATIVOS CODIGO ST0257 SEMESTRE 2013-2 INTENSIDAD HORARIA 64 horas semestral CARACTERÍSTICAS Suficientable CRÉDITOS 4 1. JUSTIFICACIÓN

Más detalles

Diseño arquitectónico 1ª edición (2002)

Diseño arquitectónico 1ª edición (2002) Unidades temáticas de Ingeniería del Software Diseño arquitectónico 1ª edición (2002) Facultad de Informática objetivo Los sistemas grandes se descomponen en subsistemas que suministran un conjunto relacionado

Más detalles

Ingeniería del Software I

Ingeniería del Software I - 1 - Ingeniería del Software I 2do. Cuatrimestre 2005 INTRODUCCIÓN... 2 SEMÁNTICA... 2 NOTACIÓN... 3 ESTADO ACCIÓN... 3 Transiciones Simples... 3 Estados Acción Compuestos... 3 Estados Acción Iniciales

Más detalles

Modelado Básico con Casos de Uso. Diseño de Software Avanzado Departamento de Informática

Modelado Básico con Casos de Uso. Diseño de Software Avanzado Departamento de Informática Modelado Básico con Casos de Uso El Modelo de Casos de Uso La técnica de los casos de uso (inventada por Ivar Jacobson): Objetivo: identificar la funcionalidad de un sistema (requisitos funcionales). Método:

Más detalles

ESTIMACIÓN DE TIEMPO Y COSTO DE PRODUCTOS SOFTWARE

ESTIMACIÓN DE TIEMPO Y COSTO DE PRODUCTOS SOFTWARE Análisis y costo de algoritmos Algoritmos Un algoritmo es un conjunto de pasos claramente definidos que a partir de un cierta entrada (input) produce una determinada salida (output) Algoritmos y programas

Más detalles

La Máquina de Acceso Aleatorio (Random Access Machine)

La Máquina de Acceso Aleatorio (Random Access Machine) La Máquina de Acceso Aleatorio (Random Access Machine) Nuestro modelo de cómputo secuencial es la máquina de acceso aleatorio (RAM, Random Access Machine) mostrada en la Figura 2.1, y que consiste de:

Más detalles

ALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

ALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 ALGORITMOS DIGITALES II Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 OBJETIVOS Conocer los principios básicos de los algoritmos. Establecer paralelos entre los algoritmos, los programas y las

Más detalles

Gestion y Modelación de Datos Introducción

Gestion y Modelación de Datos Introducción Gestion y Modelación de Datos Introducción Julio de 2011 Contenido Gestión y Modelación de Datos Descripción del Curso Bases de Datos Definición - Funcionalidades Modelos de Datos DDLs, DMLs Descripción

Más detalles

SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009

SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 4. (2 p) Dos procesos A y B se ejecutan concurrentemente en un determinado sistema. El proceso A ejecuta unas tareas ( Tareas

Más detalles

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y

Más detalles

Tipos Abstractos de Datos

Tipos Abstractos de Datos Objetivos Repasar los conceptos de abstracción de datos y (TAD) Diferenciar adecuadamente los conceptos de especificación e implementación de TAD Presentar la especificación algebraica como método formal

Más detalles

Estructura del Computador

Estructura del Computador Estructura del Computador 1 definiciones preliminares Estructura: es la forma en que los componentes están interrelacionados Función: la operación de cada componente individual como parte de la estructura.

Más detalles

Expresiones y sentencias

Expresiones y sentencias Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En Java, todas las sentencias

Más detalles

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema Modelado Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Vocabulario del Sistema Distribución de Responsabilidades Semántica de una Clase

Más detalles

Solución 1: Funcional. Estilos arquitectónicos. Solución 1: Funcional (2) Key word in context

Solución 1: Funcional. Estilos arquitectónicos. Solución 1: Funcional (2) Key word in context Solución 1: Funcional Estilos arquitectónicos Se descompone el problema de acuerdo con las funciones básicas: entrada, shift, ordenar, salida. Un programa principal coordina el flujo de control llamando

Más detalles

El Modelo Relacional. Estática

El Modelo Relacional. Estática El TEMA III Grupo de Bases de Avanzadas Univ. Carlos III de Madrid Índice PARTE I. CONCEPTO DE MODELO DE DATOS III.1 INTRODUCCIÓN III.2 CONCEPTO DE MODELO DE DATOS III.3 EVOLUCIÓN DE LOS MODELOS DE DATOS

Más detalles

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases Prof. Mariano Mancuso Sistemas de información y control diagrama de clases UML Qué son los modelos? Para qué sirven los modelos? Cuáles son los modelos de UML? Se usan todos...? Qué son los modelos? Un

Más detalles

dit UPM Tema 3: Concurrencia /threads (python) Análisis y diseño de software José A. Mañas

dit UPM Tema 3: Concurrencia /threads (python) Análisis y diseño de software José A. Mañas Análisis y diseño de software dit UPM Tema 3: Concurrencia /threads (python) José A. Mañas 11.2.2017 referencias Concurrent execution https://docs.python.org/3/library/concurrency.html concurrencia 2 índice

Más detalles

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño Univ. Cantabria Fac. de Ciencias Patricia López Introducción al Diseño Modelamos la estructura software del sistema (incluida la arquitectura) para

Más detalles

7. Programación Concurrente

7. Programación Concurrente 7. Programación Concurrente 1. Qué es la programación concurrente? Se conoce por programación concurrente a la rama de la informática que trata de las técnicas de programación que se usan para expresar

Más detalles

Grado en Ingeniería de Computadores Universidad de Alcalá 2015/2016 3º Curso 2º Cuatrimestre

Grado en Ingeniería de Computadores Universidad de Alcalá 2015/2016 3º Curso 2º Cuatrimestre Sistemas de Tiempo Real Grado en Ingeniería de Computadores Universidad de Alcalá 2015/2016 3º Curso 2º Cuatrimestre GUÍA DOCENTE Nombre de la asignatura: Código: 590008 Titulación en la que se imparte:

Más detalles

Bases Formales de la Computación

Bases Formales de la Computación Modal Bases Formales de la Computación Pontificia Universidad Javeriana 3 de abril de 2009 Modal LÓGICAS MODALES Contenido Modal 1 Modal 2 3 Qué es la lógica Modal? Modal Variedad de diferentes sistemas

Más detalles

Cristian Blanco

Cristian Blanco UNIDAD DIDÁCTICA 8. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS. DIAGRAMAS DE COMPORTAMIENTO En el siguiente enlace tienes una descripción y algunos ejemplos de todos los diagramas UML.: http://jms32.eresmas.net/tacticos/uml/umlindex.html

Más detalles

Pontificia Universidad Católica del Ecuador

Pontificia Universidad Católica del Ecuador 1. DATOS INFORMATIVOS: MATERIA O MÓDULO: CÓDIGO: CARRERA: NIVEL: Sistemas Operativos IS603.a Sistemas Tercero No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 4 CRÉDITOS PRÁCTICA: 0 SEMESTRE / AÑO ACADÉMICO: Segundo Semestre

Más detalles

El Autómata con Pila: Transiciones

El Autómata con Pila: Transiciones El Autómata con Pila: Transiciones El Espacio de Configuraciones Universidad de Cantabria Esquema Introducción 1 Introducción 2 3 Transiciones Necesitamos ahora definir, paso por paso, como se comporta

Más detalles

Requerimientos de Software

Requerimientos de Software Requerimientos de Software Ingeniería de Requerimientos Se define como el proceso de establecer los servicios que el consumidor requiere de un sistema y las restricciones sobre las cuales de funcionar

Más detalles

Actividad 1.2. Cuestionario sobre SGBD (2ª parte)

Actividad 1.2. Cuestionario sobre SGBD (2ª parte) Actividad 1.2. Cuestionario sobre SGBD (2ª parte) 1.Indica las diferencias existentes entre las funciones de manipulación y de descripción. Función de descripción o de definición: Esta función debe permitir

Más detalles

Ingeniería a de Software CC51A

Ingeniería a de Software CC51A Ingeniería a de Software CC51A Clase Auxiliar Auxiliar: Andrés s Neyem Oficina 418 de Doctorado aneyem@dcc.uchile.cl 19 de Marzo de 2007 Aspectos Generales Grupo CC51A Diseño Cliente Requisitos Usuario

Más detalles

Guía práctica de estudio 03: Algoritmos

Guía práctica de estudio 03: Algoritmos Guía práctica de estudio 03: Algoritmos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 03: Algoritmos Objetivo:

Más detalles

TEMA 1: Algoritmos y programas

TEMA 1: Algoritmos y programas TEMA 1: Algoritmos y programas 1.1.-Introducción La razón principal para utilizar un ordenador es para resolver problemas (en el sentido más general de la palabra), o en otras palabras, procesar información

Más detalles

Unidad Nº I Revisión de conceptos de. Sistemas Operativos

Unidad Nº I Revisión de conceptos de. Sistemas Operativos Instituto Universitario Politécnico Santiago Mariño Unidad Nº I Revisión de conceptos de Sistemas Operativos Definicióm de Sistema Operativo Es un programa que actúa como intermediario entre el usuario

Más detalles

Introducción a la programación

Introducción a la programación Introducción a la programación Resolución de Problemas El objetivo principal para que las personas aprendan a programar en algún lenguaje de programación en particular es utilizar el computador como una

Más detalles

Los Tipos Abstractos de Datos. Estructuras de Datos y Algoritmos 03/04

Los Tipos Abstractos de Datos. Estructuras de Datos y Algoritmos 03/04 Los Tipos Abstractos de Datos Estructuras de Datos y Algoritmos 03/04 Qué son los TAD s? Metodología de programación con TAD s Especificación Algebraica de TAD s Qué son los TAD s? Con los lenguajes de

Más detalles

Ingeniería del Software 2

Ingeniería del Software 2 Análisis de requisitos es la 1ª fase técnica del proceso de ing. del SW Éxito -> Comprensión total de los requisitos Análisis de requisitos -> Tarea de descubrimiento, refinamiento, modelado y especificación

Más detalles

Diferentes Perspectivas de un Ordenador

Diferentes Perspectivas de un Ordenador Arquitectura de Ordenadores Programación en ensamblador Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Diferentes Perspectivas de un Ordenador INT-1

Más detalles

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute. Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución

Más detalles

DIAGRAMAS DE ACTIVIDAD SESION 9. Cap. 9 Kendall & Kendall Cap 5 Jacobson

DIAGRAMAS DE ACTIVIDAD SESION 9. Cap. 9 Kendall & Kendall Cap 5 Jacobson DIAGRAMAS DE ACTIVIDAD Cap. 9 Kendall & Kendall Cap 5 Jacobson SESION 9 Ana Mercedes Cáceres mercycaceres@gmail.com Instructora: Carmen Morales Año 2006. OBJETIVOS Representar gráficamente los problemas

Más detalles

UML Unifield Modeling Languaje

UML Unifield Modeling Languaje UML Unifield Modeling Languaje 1 Modelo: Representación abstracta de una especificación, un diseño o un sistema. Generalmente, basada en una visión particular y compuesta por uno o más diagramas. Lenguaje

Más detalles

de Gran Canaria Centro de Tecnología Médica Programación Concurrente

de Gran Canaria Centro de Tecnología Médica  Programación Concurrente Universidad de Las Palmas de Gran Canaria Centro de Tecnología Médica http://www.ctm.ulpgc.es Tema 1: Introducción a la Escuela Técnica Superior de Ingenieros de Telecomunicación Conceptos Fundamentales

Más detalles

Nombre de la asignatura : Sistemas de Computación Código : Nivel (semestre de la carrera) : 7 : Ingeniería Civil Informática Nº de créditos : 4

Nombre de la asignatura : Sistemas de Computación Código : Nivel (semestre de la carrera) : 7 : Ingeniería Civil Informática Nº de créditos : 4 I IDENTIFICACION Nombre de la asignatura : Sistemas de Computación Código : 503429 Nivel (semestre de la carrera) : 7 Carrera : Ingeniería Civil Informática Nº de créditos : 4 Duración : Un semestre Pre-requisitos

Más detalles

Receta general para resolver problemas de sincronización con semáforos

Receta general para resolver problemas de sincronización con semáforos Receta general para resolver problemas de sincronización con semáforos La primera vez que te enfrentas a la tarea de implementar una solución a un problema de sincronización entre procesos, es normal que

Más detalles

Transacciones. Carlos A. Olarte BDII

Transacciones. Carlos A. Olarte BDII Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Outline 1 2 Ejecuciones Concurrentes 3 Secuencialidad en Cuanto a Conflictos 4 Secuencialidad en Cuanto a Vistas 5 Recuperabilidad 6 en SQL Transacción Definición

Más detalles

TEMA 2: ALGORITMOS Y PROGRAMAS

TEMA 2: ALGORITMOS Y PROGRAMAS TEMA 2: ALGORITMOS Y PROGRAMAS TEMA 2: ALGORITMOS Y PROGRAMAS. 1 INTRODUCCIÓN 1 Análisis del problema.. 1 Búsqueda del algoritmo.. 1 Programación del algoritmo. 3 ESTRUCTURAS DE CONTROL. 4 Estructuras

Más detalles

2. Números naturales: sistema de numeración y operaciones básicas

2. Números naturales: sistema de numeración y operaciones básicas INTRODUCCIÓN A LOS COMPUTADORES 2003-2004 Objetivos Formativos Que el alumno sea capaz de: Comprender el funcionamiento y saber diseñar los circuitos digitales combinacionales y secuenciales que se utilizan

Más detalles

Lenguajes Libres del Contexto

Lenguajes Libres del Contexto Capítulo 3 Lenguajes Libres del Contexto [LP81, cap 3] n este capítulo estudiaremos una forma de representación de lenguajes más potentes que los regulares. Los lenguajes libres del contexto (LC) son importantes

Más detalles

Una Interfaz Grafo-Matriz

Una Interfaz Grafo-Matriz Una Interfaz Grafo-Matriz R. Carballo, C. Escribano, M.A. Asunción Sastre Dept. Matemática Aplicada F.Informática. U.P.M. Boadilla del Monte Madrid, 28660-Madrid e-mail: cescribano@fi.uib.es Resumen. El

Más detalles

TEMA 2. FUNCIONES REALES DE VARIABLE REAL 2.1. CONCEPTOS BÁSICOS

TEMA 2. FUNCIONES REALES DE VARIABLE REAL 2.1. CONCEPTOS BÁSICOS TEMA 2 FUNCIONES REALES DE VARIABLE REAL 21 CONCEPTOS BÁSICOS 2 FUNCIONES REALES DE VARIABLE REAL 21 CONCEPTOS BÁSICOS 211 Concepto de función Elementos 212 Operaciones con funciones 2 FUNCIONES REALES

Más detalles

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

Más detalles

Guía práctica de estudio 03: Algoritmos

Guía práctica de estudio 03: Algoritmos Guía práctica de estudio 03: Algoritmos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 03: Algoritmos Objetivo:

Más detalles

Sistemas de E/S. Arquitectura de Computadores 3º Plan 96. Indice. 1. Problemática de la E/S 2. Módulos E/S 3. Instrucciones de E/S 4.

Sistemas de E/S. Arquitectura de Computadores 3º Plan 96. Indice. 1. Problemática de la E/S 2. Módulos E/S 3. Instrucciones de E/S 4. Indice Sistemas de E/S 1. Problemática de la E/S 2. Módulos E/S 3. Instrucciones de E/S 4. Técnicas de E/S 4.1 E/S Programada 4.2 E/S por Interrupciones 4.3 E/S por DMA 1. Problemática de la E/S A pesar

Más detalles

Introducción a la arquitectura de computadores

Introducción a la arquitectura de computadores Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina

Más detalles

4.6.- Integridad: Control de concurrencia.

4.6.- Integridad: Control de concurrencia. 4.6.- Integridad: Control de concurrencia. 4.6.1.- Introducción 4.6.2.- Técnicas de Bloqueo. 4.6.2.1.- Bloqueo (variable cerrojo) Tipos, protocolos Problemas. Interbloqueo Granularidad 4.6.2.2.- Marcas

Más detalles

Modelo Conceptual de datos. Yenifer Laurens.

Modelo Conceptual de datos. Yenifer Laurens. Modelo Conceptual de datos Yenifer Laurens. Modelo de datos Es un conjunto de conceptos que pueden servir para describir la estructura de una Base de Datos; tipo de datos, las relaciones y que deben cumplirse

Más detalles

INSTITUCIÓN EDUCATIVA SAN CRISTÓBAL

INSTITUCIÓN EDUCATIVA SAN CRISTÓBAL INSTITUCIÓN EDUCATIVA SAN CRISTÓBAL MEDIA TÉCNICA EN PROGRAMACIÓN DE SOFTWARE TEMA: LOS LENGUAJES DE PROGRAMACIÓN Profesora: Beatriz Elena Herrera Legarda Qué es una computadora? Computadora electrónica

Más detalles

3 - Arquitectura interna de un up

3 - Arquitectura interna de un up cei@upm.es 3 - Arquitectura interna un up Componentes básicos Lenguaje ensamblador y código máquina Ciclo básico ejecución una instrucción Algunos ejemplos Universidad Politécnica Madrid Componentes básicos

Más detalles

INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS Introducción La programación orientada a objetos es un enfoque de programación de los más populares y viene teniendo gran aceptación en el desarrollo

Más detalles

Unidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o

Unidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o Unidad 4 - Procesamiento paralelo. D o c e n t e : E r n e s t o L e a l E q u i p o : J e s s i c a F i e r r o L u i s N a v e j a s Arquitectura de computadoras Introducción Cuestionario Conclusiones

Más detalles

Conceptos básicos sobre gramáticas

Conceptos básicos sobre gramáticas Procesamiento de Lenguajes (PL) Curso 2014/2015 Conceptos básicos sobre gramáticas Gramáticas y lenguajes Gramáticas Dado un alfabeto Σ, un lenguaje es un conjunto (finito o infinito) de cadenas de símbolos

Más detalles

Diagramas de interacción

Diagramas de interacción Tema 6: Diagramas de Interacción Diagramas de interacción Los diagramas de interacción son diagramas que describen cómo grupos de objetos colaboran para conseguir algún fin. Estos diagramas muestran objetos,

Más detalles

DISEÑO Y CONSTRUCCION DE MODELOS WEB

DISEÑO Y CONSTRUCCION DE MODELOS WEB DISEÑO Y CONSTRUCCION DE MODELOS WEB UNIDAD II Politécnicos 2.1 DISEÑO DE SITIOS WEB El diseño se desarrollaba de manera ad- hoc y por lo general se efectuaba a medida que se generaba HTML. Después evolucionó

Más detalles

SISTEMAS OPERATIVOS Arquitectura de computadores

SISTEMAS OPERATIVOS Arquitectura de computadores SISTEMAS OPERATIVOS Arquitectura de computadores Erwin Meza Vega emezav@unicauca.edu.co Esta presentación tiene por objetivo mostrar los conceptos generales de la arquitectura de los computadores, necesarios

Más detalles

Elementos Diagramas de Clases Clase:

Elementos Diagramas de Clases Clase: Diagramas de Clases Un diagrama de clases o estructura estática muestra el conjunto de clases y objeto importantes que forman parte de un sistema, junto con las relaciones existentes entre clases y objetos.

Más detalles

Departamento de Tecnologías de la Información. Tema 4. Máquinas de Turing. Ciencias de la Computación e Inteligencia Artificial

Departamento de Tecnologías de la Información. Tema 4. Máquinas de Turing. Ciencias de la Computación e Inteligencia Artificial Departamento de Tecnologías de la Información Tema 4 Máquinas de Turing Ciencias de la Computación e Inteligencia Artificial Índice 4.1 Límites de los autómatas 4.2 Definición de Máquina de Turing 4.3

Más detalles

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica.

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica. Guía No: 2 Subdirección de Educación Departamento de Educación Contratada Colegio CAFAM Bellavista CED GUIA DE APRENDIZAJE Docente: Luz del Carmen Barrera Área: INFORMÁTICA Fecha: II BIMESTRE 2014 Grado:

Más detalles

Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares

Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares Autómata = Lógica Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares Pero antes: Vamos a hacer un breve repaso sobre

Más detalles

Programación 1. Diseño modular de nuevos tipos de datos en un programa. Diseño modular de un tipo de dato con estructura de conjunto

Programación 1. Diseño modular de nuevos tipos de datos en un programa. Diseño modular de un tipo de dato con estructura de conjunto Programación 1 Diseño modular de nuevos tipos de datos en un programa Diseño modular de un tipo de dato con estructura de conjunto 1 1. Objetivo de la lección Presentar una metodología para el diseño modular

Más detalles

Índice de contenido. Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv

Índice de contenido. Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv Índice de contenido Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv Capítulo 1: La computadora y los niveles de datos Computadora...3 Tipos de dispositivos...4

Más detalles

Tema 3. Tipos de datos simples

Tema 3. Tipos de datos simples Tema 3. Tipos de datos simples Contenido del tema: Concepto de tipo. Tipos simples. Operadores. Expresiones. Semántica. Tipos y expresiones en lenguaje C++ Francisco J. Veredas Dpto. Lenguajes y Ciencias

Más detalles

Universidad Autónoma del Estado de México Facultad de Medicina

Universidad Autónoma del Estado de México Facultad de Medicina Universidad Autónoma del Estado de México Facultad de Medicina Licenciatura en Bioingeniería Médica Unidad de Aprendizaje: Algoritmos y programación básica Unidad 3: Estructuras de control de flujo en

Más detalles

Tema 2: Los Autómatas y su Comportamiento

Tema 2: Los Autómatas y su Comportamiento Departamento de Computación Universidade da Coruña Bisimulación y procesos concurrentes Tema 2: Los Autómatas y su Comportamiento Carmen Alonso Montes carmen@dc.fi.udc.es Noelia Barreira Rodríguez noelia@dc.fi.udc.es

Más detalles

Distinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para.

Distinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para. ESTRUCTURAS ITERATIVAS 1 ESTRUCTURAS ITERATIVAS OBJETIVOS Aprender a resolver problemas mediante la ejecución repetida de una secuencia de proposiciones llamados bucle o estructuras repetitivas o iterativas.

Más detalles

PROGRAMA DE ASIGNATURA DE

PROGRAMA DE ASIGNATURA DE Table of contents 1 INFORMACIÓN GENERAL... INTRODUCCIÓN... 3 OBJETIVOS GENERALES DE LA ASIGNATURA... 3 OBJETIVOS, TEMAS Y SUBTEMAS... 3 5 PLAN TEMÁTICO...7 6 ORIENTACIONES METODOLÓGICAS... 7 7 SISTEMA

Más detalles

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto

Más detalles

Autómatas temporizados

Autómatas temporizados Autómatas temporizados Se usan cuando los disparadores de eventos se inician por el paso del tiempo. Ejemplo: cambio de luz en los semáforos. Para representarlo se agregan variables temporizadoras o relojes.

Más detalles

Métodos de Inteligencia Artificial

Métodos de Inteligencia Artificial Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) esucar@inaoep.mx ccc.inaoep.mx/esucar Tecnologías de Información UPAEP Agentes basados en conocimiento Contenido Sistemas basados en conocimiento

Más detalles

Índice Proposiciones y Conectores Lógicos Tablas de Verdad Lógica de Predicados Inducción

Índice Proposiciones y Conectores Lógicos Tablas de Verdad Lógica de Predicados Inducción Curso 0: Matemáticas y sus Aplicaciones Tema 5. Lógica y Formalismo Matemático Leandro Marín Dpto. de Matemática Aplicada Universidad de Murcia 2012 1 Proposiciones y Conectores Lógicos 2 Tablas de Verdad

Más detalles

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL 1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto

Más detalles

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema

Más detalles