modularidad

Páginas: 7 (1701 palabras) Publicado: 8 de abril de 2013
Modularidad
En programación modular, y más específicamente en programación orientada a objetos, se denomina Modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.
Estos módulos que se puedan compilar por separado, pero quetienen conexiones con otros módulos. Al igual que la encapsulación, los lenguajes soportan la Modularidad de diversas formas.
Según Bertrand Meyer "El acto de particionar un programa en componentes individuales para reducir su complejidad en algún grado. . . . A pesar de particionar un programa es útil por esta razón, una justificación más poderosa para particionar un programa es que crea unaserie de límites bien definidos y documentados en el programa. Estos límites, o interfaces, son muy valiosos en la comprensión del programa"1
Por su parte Bárbara Liskov establece que "modularización consiste en dividir un programa en módulos que pueden ser compilados de forma separada, pero que tienen conexiones con otros módulos"2

Optimización de código
La optimización de código puederealizarse durante la propia generación o como paso adicional, ya sea intercalado entre el análisis semántico y la generación de código (se optimizan las cuádruplas) o situado después de ésta (se optimiza a posteriori el código generado).
Hay teoremas (Aho, 1970) que demuestran que la optimización perfecta es indecidible. Por tanto, las optimizaciones de código en realidad proporcionan mejoras, pero noaseguran el éxito total.
Clasificación de optimizaciones:
1. Dependientes de la máquina.
Asignación de registros (ver capítulo anterior).
Instrucciones especiales ("idioms").
Reordenación del código.
2. Independientes de la máquina.
Ejecución en tiempo de compilación.
Eliminación de redundancias.
Cambio de orden.
Reducción de frecuencia de ejecución (invariancias).Reducción de fuerza.
Optimización y depuración suelen ser incompatibles. Por ejemplo, si se elimina totalmente una instrucción, puede ser imposible poner una parada en ella para depuración. Ejemplo:
x = x;
Instrucciones especiales ("idioms")
ALgunas máquinas tienen instrucciones especiales que permiten acelerar ciertos procesos. Por ejemplo:
TRT en IBM 390 y XLAT en INTEL permiten realizar unacodificación en una sola instrucción máquina.
MOV en IBM 370 permite copiar bloques de memoria de hasta 255 caracteres.
REP en INTEL permite copiar, llenar o comparar bloques de memoria utilizando como registros índice SI y DI.
TEST en INTEL permite realizar fácilmente varias comparaciones booleanas.
Ej: if (x&4 || x&8) ... se puede representar:
TEST X,12
JZ L
...
L:Reordenación del código
En muchas máquinas, la multiplicación en punto fijo de dos operandos de longitud 1 da un operando de longitud 2, mientras la división necesita un operando de longitud 2 y otro de longitud 1 para dar un cociente y un resto de longitud 1. Reordenar las operaciones puede optimizar. Por ejemplo: sea la expresión a=b/c*d;
MOV AX,B
XOR DX,DX
DIV AX,C
MUL AX,D
MOVA,AX
Si la reordenamos así: a=b*d/c;, aprovechando que la multiplicación y la división son asociativas, tenemos:
MOV AX,B
MUL AX,D
DIV AX,C
MOV A,AX
Ahorramos una instrucción. Veamos otro ejemplo:
a=b/c;
d=b%c;
Los dos códigos siguientes son equivalentes. Puede tratarse como un caso particular del manejo de registros. La realización de la primera división debería guardarconstancia de que DX contiene el resultado del resto.
MOV AX,B MOV AX,B
XOR DX,DX XOR DX,DX
DIV AX,C DIV AX,C
MOV A,AX MOV A,AX
MOV AX,B MOV D,DX
XOR DX,DX
DIV AX,C
MOV D,DX
Ejecución en tiempo de compilación
Ejemplo:
int i;
float f;
i = 2+3; (+,2,3,t1) (=,5,,i)
(=,t1,,i)
i = 4; (=,4,,i)...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Modularismo
  • Modularidad
  • modularidad
  • Modularidad
  • Modularidad
  • Modulares
  • Modularidad (Programacion)
  • Tda Y Modularidad

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS