Actualizado el 12 de Septiembre del 2020 (Publicado el 14 de Enero del 2017)
931 visualizaciones desde el 14 de Enero del 2017
93,5 MB
111 paginas
Creado hace 12a (30/01/2013)
':Ya7.o-i3J
[t:,·;,.;Qj:
0
CINVESTAV~PN
Blbllotlctdt lngenlerii EI•ctrlc•
IIIJ!UJ!IIIIII
IOUTit liE INYt:STi6 ACIIII "f Dt
UTl'iSI \U AVAkZHOS DEL
I.~. N.
ai .LIOTECA
"'"'~ENIE " I A ELECTRIO
CENTRO DE INVESTIGACIQN Y DE ESTUDIOS
AVANZADOS
INSTITUTO POLITECNICO NACIONAL
DEL
CUTIIt Of. ll'i\'€S TIIA CIU Y ll
EST Uili3S AVH!ZA U S IH
l. P. N .
BI SILIOT E OA
'""F NIERiA ELEC TRIC.I
DEPARTAMENTO DE INGENIERiA ELECTRICA
SECCIQN DE COMPUTACIQN
OBOCCAM: OCCAM BASADO EN OBJETOS
CI N vESTAV
I P N
I' DQU ISICION
DE LIBRDS
Tesis que presenta el Lie. Raul Hernandez Cruz para obtener el grado de MA ESTRO
EN CIENCIAS en Ia especialidad de INGENIERiA ELECTRICA.
Trabajo dirigido par el M. En C. Jose Oscar Olmedo Aguirre
Cl NV EST AV /CONACYT
Mexico D.F Junia de 1997
XM
DEPARTAMENTO DE INGENIERiA ELECTRICA
SECCION DE COMPUTACION
OBOCCAM: OCCAM BASADO EN OBJETOS
Reseiia:
OBOCCAM se desarrollo como una alternativa para Ia explotaci6n de Ia programaci6n concurrente
mediante tecnicas de programaci6n orientada a objetos.
OBOCCAM es un lenguaje de programaci6n procedural, en el cual se definen construcciones de
programaci6n concurrente y orientadas a objetos, estas construcciones son utilizadas en el desarrollo de
aplicaciones que explotan el paralelismo en entornos constituidos por TRANSPUTER.
El subconjunto de construcciones concurrentes empleadas pertenecen al lenguaje OCCAM, asi
OBOCCAM aumenta este conjunto con otras cuya filosofia esta basada en Ia programaci6n orientada a
objetos, de esta manera se conjugan Ia programaci6n concurrente procedural (OCCAM basado en
mensajes) y Ia orientada a objetos (OBOCCAM) .
Dentro de las facilidades de OBCCAM se encuentran Ia declaraci6n de objetos, el polimorfismo, Ia
construcci6n y destrucci6n de objetos, elllamado a objetos remotos, entre otros.
Las principales ventajas obtenidas con OBOCCAM son aquellas derivadas de las tecnicas de Ia
orientaci6n a objetos como lo son el ocultamiento de Ia informacion, Ia reusabilidad del c6digo, el desarrollo
de componentes distribuidos, asi como mejores abstracciones del mundo real.
Con respecto al entorno sobre el cual opera OBOCCAM, se encuentra el procesador
TRANSPUTER (procesador de 32 bits) cuya principal caracteristica es su capacidad de interconexi6n con
otros procesadores similares, lo que nos permite Ia construcci6n de redes de procesadores con Ia
capacidad de ejecutar sistemas paralelos en arquitecturas de bajo costo con topologias diversas (anillo,
red, toroidal, etc. ).
OBOCCAM y OCCAM estim intimamente ligados al procesador TRANSPUTER sin embargo, los
resultados obtenidos son validos a otros tipos de arquitecturas, tales como redes de procesadores
comerciales basados en otros tipos de procesador (Pentium, Alfa etc.)
OBOCCAM:
OCCAM BASADO EN OBJETOS
POR RAUL HERNANDEZ CRUZ"
TESIS DIRIGIDA POR:
M. en C. JOSE OSCAR OLMEDO AGUIRRE
CENTRO DE INVESTIGACIONES Y DE ESTUDIOS AVANZADOS
DEL INSTITUTO POLITECNICO NACIONAL
RESUMEN
En el presente trabajo, se tocan temas de programaci6n concurrente, programaci6n orientada a
objetos y arquitecturas paralelas, todo el material presentado esta enfocado hacia el objetivo primordial
del trabajo . el cual consiste en extender el
lenguaje OCCAM(12] para que soporte los principales
conceptos de Ia programaci6n orientada a objetos
OCCAM es un lenguaje concurrente que nos ayuda a programar el procesador TRANSPUTER, el
cual es un procesador de 32 bits con caracterfsticas tales, que nos permiten interconectarlo con otros
procesadores para formar redes y asf explotar el paralelismo
Aquf se describen las caracterfsticas de Ia extensiOn como Ia son Ia declaraci6n de objetos, sus
metodos, su sintaxis, Ia forma en que se implemento y algunos ejemplos que ilustran las caracteristicas
de OBOCCAM
Palabras Claves ·
Programaci6n concurrente,
lenguajes de programaci6n, procesos, sincronizaci6n, comunicaci6n entre procesos,
procesamiento en paralelo, compiladores, OCCAM, TRANSPUTER, tipos de datos, tipos de datos abstractos, programaci6n
orientada a objetos, objetos, polimorfimo, constructores destructores, sobrecarga de operadores
Abstract
In this work, the issues about concurrent programming ,object oriented and parallel architectures
are described . every part of the material showed is focused to the main objectives. where it is defined as
the extension of the language OCCAM to support the concept of object oriented programming
OCCAM is a concurrent language helps us program the TRANSPUTER processor. which is a
processor of 32 bits with characteristics that permit us to connect several processors within and to make
networks of processors and therefore exploit the parallel processing
Here we describe the characteristics of the extension .
the syntax and the way it was
implemented , finally we will give some examples of its properties
Key words
Concurrent programming, programming languages, process, synchronization primitives, communication between process,
parallel processing , compilers, OCCAM, TRANSPUTER , data types, abstract data types, object oriented programming,
objects, polymorphism, constructors, destructors, operator Overload
CEITI!e fH IMHSTIG ACIU Y ll
H ! U b i~ S t V.I ~U ~0 S IIH
l. f-":). f'-t
8 1S l. iOT E CA
I W~F.NI E RiA ELEC TP. ICA
eMU~:
A miiJ, rP ~ ~, JeeJIJTn(JJrlM
~~~· ··
Agradecimientos :
Agradezco enormemente a mi asesor Oscar Olmedo por dirigir y
ayudarme a terminar este trabajo, pienso que si no hubiese sido por el nunca se
habria terminado.
Cabe mencionar a todas aquellas personas que me apoyaron y me
animaron a seguir adelante, sabre todo, a mis amigos y companeros del Centro
de investigaci6n, pero resultaria dificil enumerar a todos y para evitar que se me
olvide alguno prefiero darles las gracias en forma gener.al.
Agradezco igualmente a todos los Profesores del centro de investigaci6n
que se esfuerzan por darnos lo mejor de sus conocimientos.
Finalmente agradezco al CONSEJO NACIONAL DE CIENCIA Y
TECNOLOGIA por haberme apoyado y otorgado una beca para Ia realizaci6n
de esta Maestria.
OBOCCAM : OCCAM BASADO EN OBJETOS
INDICE GENERAL
Contenido:
DEDICATORIA
RECONOCIMIENTOS
iNDICE GENERAL
iNDICE DE FIGURAS
INTRODUCCION
I. ANTECEDENTES
lntroduccion
1.1
1.2 Entorno de programacion
1.3
1.4 OCCAM y Ia TRANSPUTER
1.5 Objetivos y justificacion del trabajo
1.6
Programacion concurrente basada en objetos y arquitecturas paralelas
Lenguajes concurrentes orientados a objetos y algunas diferencias
con el presente trabajo
1.7 Conclusion
II. COMPUTADORAS PARALELAS Y LA COMUNICACION DE OBJETOS
lntroduccion
11.1
11.2 Arquitecturas paralelas
11.3 Clasificacion de arquitecturas paralelas
11.4 El procesador TRANSPUTER
11.5 Procesamiento paralelo
11.6 Comunicacion entre objetos
11 .6 Esquema de comunicacion
11.7 Conclusion
Ill. EL LENGUAJE CONCURRENTE OCCAM
lntroduccion
111.1
111.2 Procesos y estructura de un programa
111.3 Variables, tipos de datos, asignacion y constantes
111.4 Cadenas de caracteres
111.5 Ciclos
111.6 Arreglos
111.7 Procedimientos
111.8 Flujo de programacion secuencial
111.9 Comunicacion y construccion de procesos paralelos
111.10 Aritmetica de OCCAM.
111.11 Conclusion
IV. PROGRAMACION DE OBJETOS EN OCCAM
lntroduccion
IV.1
IV.2 Representacion de un objeto
IV.3 Datos de un objeto
IV.4 Metodos de estructuras y objetos
PAG.
12
14
16
16
17
18
19
20
24
27
28
28
30
31
31
32
32
33
34
37
39
40
40
42
44
IV.5 De metodos a procedimientos en OCCAM
IV.6 Llamado desde el administrador de objetos hacia un metodo
IV.7 Procedimiento de construccion , destruccion de un objeto
IV .8 Procedimiento de sobrecarga
IV.9 Canales de comunicacion
IV.10 Conclusion
V. OCCAM BASADO EN OBJETOS (OBOCCAM)
lntroduccion
V .1
V.2 Modelo de programacion de OBOCCAM
V.2 .1 La estructura en OBOCCAM
V.2.2 Un objeto en OBOCCAM
V.2.3 Un metodo de Comunicacion entre objetos de OBOCCAM
V.3 Extension del lenguaje OBOCCAM
V .4 Construcciones en el objeto
V.4.1 Definicion de estructuras
V.4.2 Definicion del objeto
V.4.3 Declaracion de Constructores, destructores y metodos
V.4.4 Declaracion de Ia sobrecarga
lnvocacion a los metodos y datos de un objeto
V.5 Esquema del funcionamiento de un objeto y su implement;;~cion
V.6
V.7 Comunicacion entre objetos
V.S Administrador de mensajes
V.9 Protocolo y constantes utilizadas
V.10 Conclusion
VI. APLICACIONES CON OBOCCAM
lntroduccion
Vl.1
Vl.2 Entorno de desarrollo
Vl.3 Utilizando a OBOCCAM
Vl.4 Librerias adicionales para el manejo de objetos
V1.5 Declaracion de una estructura
V1.6 Utilizacion de datos de una estructura
Vl.7 Declaracion de objetos
Vl.8
V1.9 Utilizacion de objetos para el manejo de EIS
Vl.1 0 Esquema de comunicacion
V1.11 lnvocacion desde procesos
V1.12 El administrador de mensajes
V1.13 Ejemplo de declaracion de objetos
Vl.14 Esquema basico del problema
Vl.15 Conclusion
lnvocacion a los metodos de un objeto
CONCLUSION GENERAL
GLOSARIO
BIBLIOGRAFIA
45
46
48
48
48
49
50
50
50
51
52
53
53
53
55
56
58
59
63
65
68
69
70
71
71
72
73
73
73
74
74
74
75
75
75
77
77
80
81
83
87
INDICE DE FIGURAS
Jerarquia de computadoras segun Flynn
1.- Sobrevista de OBOCCAM
2.- Clasificaci6n de Flynn
3.-
4.- Sis
Comentarios de: Tesis: Raul Hernandez - OBOCCAM: OCCAM BASADO EN OBJETOS (0)
No hay comentarios