PRACtICA 1 DE LAB DE SIStEMAS DE COMUNICACIONES _ ESPOLDescripción completa
sdsDescripción completa
Descripción completa
Descripción: calculo de impedancias Delta Omega
SISTEMAS DE INFORMACION II 1.2.1 Acoplamiento y Coherencia Introducción
Muchos aspectos de la modularización pueden ser comprendidos solo si se examinan módulos en relación con otros En principio !eremos el concepto de independencia Diremos "ue dos módulos son totalmente independientes si am#os pueden $uncionar completamente sin la presencia del otro Esto implica "ue no existen interconexiones entre los módulos% & "ue se tiene un !alor cero en la escala de 'dependencia' En (eneral !eremos "ue a ma&or n)mero de interconexiones entre dos módulos% se tiene una menor independencia El concepto de independencia $uncional es una deri!ación directa del de modu modular larida idad d & de los los conc concep epto tos s de a#st a#strac racci ción ón & ocul oculta tami mien ento to de la in$ormación *a cuestión a"u+ es, cuanto de#e conocerse acerca de un módulo para poder comprender otro módulo- Cuanto m.s de#amos conocer acerca del módulo / para poder comprender el módulo A% menos independientes ser.n A de / *a simp simple le cant cantid idad ad de cone conexi xion ones es entr entre e módu módulos los%% no es una una medi medida da comple completa ta de la indep independ endenc encia ia $uncio $uncional nal *a indepe independe ndenci ncia a $uncio $uncional nal se mide con dos criterios cualitati!os, acoplamiento & cohesión Estudiaremos en principio el primero de ellos Módulos altamente 'acoplados' estar.n unidos por $uertes interconexiones% módulos d0#ilmente acoplados tendr.n pocas & d0#iles interconexiones% en tanto "ue los módulos módulos 'desacoplad 'desacoplados' os' no tendr.n tendr.n intercone interconexion xiones es entre entre ellos & ser.n independientes
El acoplamiento es un conc concep epto to a#st a#stra ract cto o "ue "ue nos nos indi indica ca el (rad (rado o de interdependencia interdependencia entre módulos
En la pr.ctica podemos materializarlo como la pro#a#ilidad de "ue en la codi1c codi1caci ación% ón% depura depuració ción% n% o modi1c modi1caci ación ón de un deter determin minado ado módulo módulo%% el pro(ramador necesite tomar conocimiento acerca de partes de otro módulo Si dos módulos est.n $uertemente acoplados% existe una alta pro#a#ilidad de "ue el pro(ramador necesite conocer uno de ellos en orden de intentar realizar modi1caciones al otro Claramente% el costo total del sistema se !er. $uertemente in2uenciado por el (rado de acoplamiento entre los módulos
4.1 Factores que infuencian el Acoplamiento
SISTEMAS DE INFORMACION II *os cuatro $actores principales "ue in2u&en en el acoplamiento entre módulos son, Tipo de conexión entre módulos, los sistemas normalmente conectados% tienen menor acoplamiento "ue a"uellos "ue tienen conexiones patoló(icas Comple3idad de la inter$ace, Esto es aproximadamente i(ual al n)mero de +tems di$erentes pasados 4no cantidad de datos5 M.s +tems% ma&or acoplamiento Tipo de 2u3o de in$ormación en la conexión, los sistemas con acoplamiento de datos tienen menor acoplamiento "ue los sistemas con acoplamiento de control% & estos a su !ez menos "ue los "ue tienen acoplamiento h+#rido Momento en "ue se produce el li(ado de la Conexión, Conexiones li(adas a re$erentes 13os en tiempo de e3ecución% resultan con menor acoplamiento "ue cuando el li(ado tiene lu(ar en tiempo de car(a% el cual tiene a su !er menor acoplamiento "ue cuando el li(ado se realiza en tiempo de lin6a(e7edición% el cual tiene menos acoplamiento "ue el "ue se realiza realiza en tiempo de compilación% todos los "ue a su !ez tiene menos acoplamiento "ue cuando el li(ado se realiza en tiempo de codi1cación
Tipos de conexiones entre módulos
8na conexión en un pro(rama% es una re$erencia de un elemento% por nom#re% dirección% o identi1cador de otro elemento 8na conexión intermodular ocurre cuando el elemento re$erenciado est. en un módulo di$erente al del elemento re$erenciante El elemento re$erenciado de1ne una inter$ace% un l+mite del módulo% a tra!0s del cual 2u&e datos & control *a inter$ace puede considerarse como residente en el elemento re$erenciado 9uede pensarse como un enchu$e 4soc6et5 donde la conexión del elemento re$erenciante se inserta Toda inter$ace en un módulo representa cosas "ue de#en ser conocidas% comprendidas% & apropiadamente conectadas por los otros módulos del sistema Se #usca minimizar la comple3idad del sistema:módulo% en parte% minimizando el n)mero & comple3idad de las inter$aces por módulo Todo módulo adem.s de#e tener al menos una inter$ace para ser de1nido & !inculado al resto del sistema
SISTEMAS DE INFORMACION II 9ero% es una inter$ace de identidad simple su1ciente para implementar sistemas "ue $uncionen adecuadamente- *a cuestión a"u+ es, A que propósito sirven las interfaces? Solo 2u3os de control & datos pueden pasarse entre módulos en un sistema de pro(ramación 8na inter$ace puede cumplir las si(uientes cuatro )nicas $unciones, transmitir datos a un módulo como par.metros de entrada reci#ir datos desde un módulo como resultados de salida ser un nom#re por el cual ser reci#e el control ser un nom#re por el cual ser transmite el control 8n módulo puede ser ideti1cado & acti!ado por medio de una inter$az de identidad simple Tam#i0n podemos pasar datos a un módulo sin a(re(ar otras inter$aces% haciendo a la inter$az de entrada capaz de aceptar datos como control Esto re"uiere "ue los elementos de datos sean pasados din.micamente como ar(umentos 4par.metros5 como parte de la secuencia de acti!ación% "ue da el control a un módulo; cual"uier re$erencia est.tica a datos puede introducir nue!as inter$aces Se necesita tam#i0n "ue la inter$ace de identidad de un módulo sir!a para trans$erir el retorno del control al módulo llamador Esto puede realizarse haciendo "ue la trans$erencia de control desde el llamador sea una trans$erencia condicional. De#e implementarse adem.s un mecanismo para transmitir datos de retorno desde el módulo llamado hacia el llamador 9uede asociarse un !alor a una acti!ación particular del modulo llamado% la cual pueda ser usada contextualmente en el llamador Tal es el caso de las $unciones ló(icas Alternati!amente pueden transmitirse par.metros para de1nir u#icaciones donde el módulo llamado retorna !alores al llamador Si todas las conexiones de un sistema se restrin(en a ser completamente parametrizadas 4con respecto a sus entradas & salidas5% & la trans$erencia condicional de control a cada módulo se realiza a tra!0s de una identidad simple & )nica% diremos "ue el sistemas est. mínimamente conectado Diremos "ue un sistema est. normalmente conectado cuando cumple con las condiciones de m+nimamente conectado% excepto por al(una de las si(uientes consideraciones, existe m.s de un punto de entrada para un mismo módulo el módulo acti!ador o llamador puede especi1car como parte del proceso de acti!ación un punto de retorno "ue no sea la próxima sentencia en el orden de e3ecución el control es trans$erido a un punto de entrada de un módulo por al()n mecanismo distinto a una llamada expl+cita 4e3 per$orm thru del CO/O*5 El uso de m)ltiples puntos de entrada (arantiza "ue existir.n m.s "ue el n)mero m+nimo de interconexiones para el sistema 9or otra parte si cada punto de entrada determina $unciones con m+nima conexión a otros
SISTEMAS DE INFORMACION II módulos% el comportamiento del sistema ser. similar a uno m+nimamente interconectado De cual"uier manera% la presencia de m)ltiples puntos de entrada a un mismo módulo% puede ser un indicati!o de "ue el módulo est. lle!ando a ca#o m.s de una $unción espec+1ca Adem.s% es una excelente oportunidad "ue el pro(ramador superpondr. parcialmente el códi(o de las $unciones comprendidas dentro del mismo módulo% "uedando dichas $unciones acopladas por contenido De manera similar% los puntos de retorno alternativo son $recuentemente )tiles dentro del esp+ritu de los sistemas normalmente conectados Esto se da cuando un módulo continuar. su e3ecución en un punto "ue depende del !alor resultante de una decisión realizada por un módulo su#ordinado in!ocado pre!iamente En un caso de m+nima conexión% el módulo su#ordinado retornar. el !alor como un par.metro% el cual de#er. ser testeado nue!amente en el módulo superior Sin em#ar(o% el módulo superior puede indicar por al()n medio directamente el punto donde de#e continuarse la e3ecución del pro(rama% 4un !alor relati!o < o 7 direcciones a partir de la instrucción llamadora% o un par.metro con una dirección expl+cita5 Si un sistema no est. m+nima o normalmente conectados% entonces al(unos de sus módulos presentar.n conexiones patoló(icas Esto si(ni1ca "ue al menos un módulo tendr. re$erencias expl+citas a identi1cadores de1nidos dentro de los l+mites de otro módulo
Complejidad de la interace
*a se(unda dimensión del acoplamiento el la complejidad Cuanto m.s comple3a es una conexión% ma&or acoplamiento se tiene 8n módulo con una inter$ace de =>> par.metros (enerar. ma&or acoplamiento "ue un "ue solo necesite tres par.metros El si(ni1cado de 'comple3idad' es el de comple3idad en t0rminos humanos% tal lo !isto anteriormente Flujo de Inormación
Otro aspecto importante del acoplamiento tiene "ue !er con el tipo de in$ormación "ue se transmite entre el módulo superior & su#ordinado Distin(uiremos tres tipos de 2u3o de in$ormación, datos control h+#rido *os datos son in$ormación so#re la cual una pieza de pro(rama opera% manipula% o modi1ca
SISTEMAS DE INFORMACION II *a in$ormación de control 4a)n cuando est. representada por !aria#les de dato5 es a"uella "ue (o#ierna como se realizar.n las operaciones o manipulaciones so#re los datos Diremos "ue una conexión presenta acoplamiento por datos si la salida de datos del módulo superior es usada como entrada de datos del su#ordinado Este tipo de acoplamiento tam#i0n es conocido como de entrada7salida Diremos "ue una conexión presenta acoplamiento de control si el módulo superior comunica al su#ordinado in$ormación "ue controlar. la e3ecución del mismo Esta in$ormación puede pasarse como datos utilizados como se?ales o '#anderas' 42a(s5 o #ien como direcciones de memoria para instrucciones de salto condicional 4#ranch7adress5 Estos son elementos de control 'dis$razados' como datos El acoplamiento de datos es m+nimo% & nin()n sistema puede $uncionar sin 0l *a comunicación de datos es necesaria para el $uncionamiento del sistema% sin em#ar(o% la comunicación de control es una caracter+stica no desea#le & prescindible% "ue sin em#ar(o aparece mu& $recuentemente en los pro(ramas Se puede minimizar el acoplamiento si solo se transmiten datos a tra!0s de las inter$aces del sistema El acoplamiento de control a#arca todas las $ormas de conexión "ue comuni"uen elementos de control Esto no solo in!olucra trans$erencia de control 4direcciones o #anderas5% si no "ue puede in!olucrar el pasa3e de datos "ue cam#ia% re(ula% o sincroniza la e3ecución de otro módulo Esta $orma de acoplamiento de control indirecto o secundario se conoce como coordinación *a coordinación in!olucra a un módulo en el contexto procedural de otro Esto puede comprenderse con el si(uiente e3emplo, supon(amos "ue el módulo A llama al módulo / suministr.ndole elementos de datos discretos *a $unción del módulo / es la de a(rupar estos elemento de datos en un +tem compuesto & retorn.rselo al módulo A 4superior5 El módulo / en!iar. al módulo A% se?ales o #anderas indicando "ue necesita "ue se le suministre otro +tem elemental% o para indicarle "ue le est. de!ol!iendo el +tem compuesto Estas #anderas ser.n utilizadas dentro del módulo A para coordinar su $uncionamiento & suministrar a / lo re"uerido Cuando un módulo modi1ca el contenido procedural de otro módulo% decimos "ue existe acoplamiento híbrido El acoplamiento h+#rido es una modi1cación de sentencias intermodular En este caso% para el módulo destino o modi1cado% el acoplamiento es !isto como de control en tanto "ue para el módulo llamador o modi1cador es considerado como de datos El (rado de interdependencia entre dos módulos !inculados con acoplamiento h+#rido es mu& $uerte A$ortunadamente es una pr.ctica en decadencia & reser!ada casi con exclusi!idad a los pro(ramadores en assem#ler
SISTEMAS DE INFORMACION II Tiempo de li!ado de conexiones intermodulares
'*i(ado' o '/indin(' es un t0rmino com)nmente usado en el campo del procesamiento de datos para re$erirse a un proceso "ue resuel!e o 13a los !alores de identi1cadores dentro de un sistema El li(ado de !aria#les a !alores% o m.s (en0ricamente% de identi1cadores a re$erentes espec+1cos% puede tener lu(ar en di$erentes estadios o per+odos en la e!olución del sistema *a historia de tiempo de un sistema puede pensarse como una l+nea extendi0ndose desde el momento de la escritura del códi(o $uente hasta el momento de su e3ecución Dicha l+nea puede su#di!idirse en di$erentes ni!eles de re1namiento se()n distintas com#inaciones de computador:len(ua3e:compilador:sistema operati!o De esta $orma% el li(ado puede tener lu(ar cuando el pro(ramador escri#e una sentencia en el editor de códi(o $uente% cuando un módulo es compilado o ensam#lado% cuando el códi(o o#3eto 4compilado o ensam#lado5 es procesado por el 'lin67editor' o el 'lin67loader' 4(eneralmente este proceso es el conocido como li(ado en la ma&or+a de los sistemas5% cuando el códi(o 'ima(en7de7memoria' es car(ado en la memoria principal% & 1nalmente cuando el sistema es e3ecutado *a importancia del tiempo de li(ado radica en "ue cuando los valor de variables dentro de una pieza de código son j ados más tarde, el sistema es más fácilmente modicable adaptable al cambio de requerimientos. @eamos un e3emplo, supon(amos "ue se nos encomienda la escritura de una serie de pro(ramas listadores siendo la impresora a utilizar en principio una del tipo matricial de > columnas "ue $unciona con papel continuo de =B' de lar(o de p.(ina Alternati!as, = Escri#imos el literal 'B' en todas las rutinas de impresión de todos los pro(ramas 4li(ado en tiempo de escritura5 B Reemplazamos el literal por la constante mani1esta *ON9A a la "ue asi(namos el !alor 'B' en todos los pro(ramas 4li(ado en tiempo de compilación5 9onemos la constante *ON9A en un archi!o de inclusión externo a los pro(ramas 4li(ado en tiempo de compilación5 G Nuestro len(ua3e no permite la declaración de constantes por lo cual de1nimos una !aria#le (lo#al *ON9A a la "ue le asi(namos el !alor de inicialización 'B' 4li(ado en tiempo de lin67edición5 H De1nimos un archi!o de par.metros del sistema con un campo *ON9A al cual se le asi(na el !alor 'B' Este !alor es le+do 3unto con otros par.metros cuando el sistema se inicia 4li(ado en tiempo de e3ecución5
SISTEMAS DE INFORMACION II De1nimos en el archi!o de par.metros un re(istro para cada terminal del sistema & personalizamos el !alor del campo *ON9A se()n la impresora "ue ten(a !inculada cada terminal De esta $orma las terminales "ue tienen impresoras de =B' imprimen B l+neas por p.(ina% & las "ue tienen una impresora de in&ección de tinta "ue usan papel o1cio% imprimen > 4li(ado en tiempo de e3ecución5 Examinaremos ahora la relación existente entre el tiempo de li(ado & las conexiones intermodulares% & como el mismo a$ecta el (rado de acoplamiento entre módulos Nue!amente% una re$erencia intermodular 13ada a un re$erente u o#3eto espec+1co en tiempo de de1nición% tendr. un acoplamiento ma&or a una re$erencia 13ada en tiempo de traslación o posterior a)n *a posi#ilidad de compilación independiente de un módulo de otros $acilitar. el mantenimiento & modi1cación del sistema% "ue si de#iera compilarse todos los módulos 3untos I(ualmente% si la lin67edición de los módulos es di$erida hasta el instante pre!io a su e3ecución% la implementación de cam#ios se !er. simpli1cada Existe un caso particular de acoplamiento de módulos deri!ado de la estructura le!icográca del pro(rama Ja#lamos en este caso de acoplamiento por contenido. Dos $ormas de acoplamiento por contenido pueden distin(uirse, Inclusión lexico(r.1ca, se da cuando un módulo est. incluido lexico(r.1camente en otro% & es una $orma menor de acoplamiento *os módulos por lo (eneral no pueden e3ecutarse separadamente Este es el caso en el "ue el módulo su#ordinado es acti!ado en l+nea dentro del contexto del módulo superior Solapamiento parcial, es un caso extremo de acoplamiento por contenido 9arte del códi(o de un módulo est. en intersección con el otro A$ortunadamente la ma&or+a de los len(ua3es modernos de alto ni!el no permiten este tipo de estructuras
SISTEMAS DE INFORMACION II En t0rminos de uso% mantenimiento% & modi1cación% las consecuencias del acoplamiento por contenido son peores "ue las del acoplamiento de control El acoplamiento por contenido hace "ue los módulos no puedan $uncionar uno sin el otro No ocurre lo mismo en el acoplamiento de control% en el cual un módulo% aun"ue reci#a in$ormación de control% puede ser in!ocado desde di$erentes puntos del sistema
2 Acoplamiento de "ntorno Com#n $common%en&ironment couplin!'
Siempre "ue dos o m.s módulos interact)an con un entorno de datos com)n% se dice "ue dichos módulos est.n en acoplamiento por entorno com"n. E3emplos de entorno com)n pueden ser .reas de datos (lo#ales como la DATA di!isión del CO/O*% un archi!o en disco El acoplamiento de entorno com)n es una $orma de acoplamiento de se(undo orden% distinto de los tratados anteriormente *a se!eridad del acoplamiento depender. de la cantidad de módulos "ue acceden simult.neamente al entorno com)n En el caso extremo de solo dos módulos donde uno utiliza como entrada los datos (enerados por el otro ha#laremos de un acoplamiento de entrada#salida El punto es "ue el acoplamiento por entorno com)n no es necesariamente malo & de#a ser e!itado a toda costa 9or el contrario existen ciertas circunstancias en "ue es una opción !.lida ( )esacoplamiento
El concepto de acoplamiento in!ita a un concepto rec+proco, desacoplamiento. Desacoplamiento es cual"uier m0todo sistem.tico o t0cnica para hacer m.s independientes a los módulos de un pro(rama Cada tipo de acoplamiento (eneralmente su(iere un m0todo de desacoplamiento 9or e3emplo% el acoplamiento causado por li(ado% puede desacoplarse cam#iando los par.metros apropiados tal lo !isto en el e3emplo de el contador de l+neas de los pro(ramas impresores El desacoplamiento desde el punto de !ista $uncional% rara !ez puede realizarse% excepto en los comienzos de la $ase del dise?o Como re(la (eneral% una disciplina de dise?o "ue $a!orezca el acoplamiento de entrada7salida & el acoplamiento de control por so#re el acoplamiento por contenido & el acoplamiento h+#rido% & "ue #us"ue limitar el alcance del acoplamiento por entorno com)n es el en$o"ue m.s e$ecti!o Otras t0cnicas para reducir el acoplamiento son, Con!ertir las re$erencias impl+citas en expl+citas *o "ue puede !erse con ma&or $acilidad es m.s $.cil de comprender
SISTEMAS DE INFORMACION II Estandarización de las conexiones 8so de '#uKers' para los elementos comunicados en una conexión Si un módulo puede ser dise?ado desde el comienzo asumiendo "ue un #uKer mediar. cada corriente de comunicación% las cuestiones temporización% !elocidad% $recuencia% etc% dentro de un módulo no a$ectar.n el dise?o de otros *ocalización 8tilizado para reducir el acoplamiento por entorno com)n Consiste en di!idir el .rea com)n en re(iones para "ue los módulos solo ten(an acceso a a"uellos datos "ue les son de su estricta incum#encia