Descargar

Desarrollo de Aplicaciones basado en Componentes y Frameworks (página 3)

Enviado por Pablo Turmero


Partes: 1, 2, 3, 4
edu.red 31 LDC: Componentes Propagación de eventos Interfaz (Gp:) Componente: Tipo (Gp:) Método()—–> (Gp:) Atributos

(Gp:) Tipo

(Gp:) Atributos

(Gp:) Mensajes + eventos

edu.red 32 LDC: Componentes def component DoM(fich:”String”) propagates listMovies(list-movies=”List”) end interface is type File fich:”String” getlistMovies(category=”String”) throws listMovies(list-movies=”List”) end enddef DoM

edu.red 33 LDC: Conectores Parametrización Componentes participantes (Gp:) Relación de uso

(Gp:) Gestión de eventos

(Gp:) Conector (Gp:) componente, set(componente)

(Gp:) Protocolo Tipo ASTM Protocolo en TDF

edu.red 34 LDC: Conectores def connector MSelector(newphase:component) handles listMovies(list-movies=”List”),service(movie=”String”) service(category-movie=”Command”) end messages DoM.getlistMovies(category=”String”) Participant.initService(panel=”DoMpanel”) Participant.displayService(data=”List”) Participant.service(command=”Command”) end protocol is type Service std(SDL) {…} end enddef MSelector

edu.red 35 LDS: Conexiones Conexiones En base a eventos Instanciación de la relación de uso (Gp:) Renombrar métodos y eventos

(Gp:) Adaptar componentes a conectores

edu.red 36 LDS: Conexiones (scaccess1 : SCAccess(nombre)) scaccess1[acdb] to participant with {access(params), join} acdb with {subscribed,non-subscribed}; (Gp:) subscribed, (Gp:) non-subscribed (Gp:) Participant (Gp:) getAccessParams() –> (Gp:) joinResponse() (Gp:) join() ——————-> (Gp:) SCAccess (Gp:) ACDB: (Gp:) File (Gp:) <——— checkAccess() (Gp:) join (Gp:) access(params)

participant acdb scaccess1

edu.red 37 LCF Organización de servicios genéricos Servicio de organización común (Gp:) (Gp:) readLocation() ——–> (Gp:) (Gp:) close() (Gp:) ConfiguratedDataBase: (Gp:) (Gp:) File (Gp:) (Gp:) readParameter() ——> (Gp:) ConfiguratedService: (Gp:) (Gp:) File (Gp:) (Gp:) addFile() (Gp:) (Gp:) addParties() (Gp:) (Gp:) addLocation() (Gp:) (Gp:) addParameter() (Gp:) (Gp:) close() (Gp:) Organización (Gp:) VoD genérico

(Gp:) VoD versión1

edu.red 38 LCF (Gp:) Asignación de nombres lógicos a físicos (Gp:) set msap set movie remote set participant local

(Gp:) Configuración de parámetros globales (Gp:) put text “Fich.clientes” parname acdb::acdbfich value=””

(Gp:) Clases de componentes y conectores (Gp:) put text “Tipo acceso” implementation scaccess value=””

(Gp:) set parties unicast (Gp:) Tipo de servicio

edu.red 39 Un ejemplo en LEDA (I) component Buffer { interface storage : Storage; retrieval : Retrieval; } role Storage(put) { spec is put?(x).Storage(put) } role Retrieval(get) { spec is get?(item,empty). ?. (x) item!(x). Retrieval(get) + ?. empty!(). Retrieval(get); }

edu.red 40 Un ejemplo en LEDA (II) component Sender { interface writer : Writer; } role Writer(write) { spec is (data) write!(data). Writer(write); } role Reader(read) { spec is (return,empty) read!(return,empty). ( return?(item).Reader(read) + empty?().Reader(read) ); } component Receiver { interface reader : Reader; }

edu.red 41 Un ejemplo en LEDA (III) component ProducerConsumer { interface … composition p: Sender; c: Receiver; b: Buffer; attachments p.writer(write) <> b.storage(write); b.retrieval(read) <> c.reader(read); }

edu.red 42 LDS Parámetros globales Componentes simples conjunto lista de tipos components chair : Manager(name) audience : set(Participant) ===> item(audience) devices : {TextualChat,FileMovie} end (Gp:) Configuración con LCF

edu.red 43 Comparación de LDAs

edu.red 44 Arquitectura Software vs. COTS Arquitectura del Software Orientados a la reutilización independiente de patrones arquitectónicos y de componentes Modelos formales Tecnología desarrollada en el entorno académico COTS Componentes con interfaces estándares (IDLs) No aparece la noción de conector o “enchufe” Mercado global de componentes centrado en la reutilización de componentes Tecnología madura: OpenDoc/CORBA, OLE/COM

edu.red 45 Ingeniería del Software basada en Componentes Componentes unidos a una arquitectura Partes de la interfaz de un componente para soportar la noción de arquitectura: Tiempo de Composición Elementos para generar una aplicación a partir de COTS Tiempo de Diseño Interfaces funcionales y dependencias de componentes Tiempo de Ejecución Servicios de composición dinámica en runtime

edu.red 46 AS: problemas y líneas abiertas Definición de AS Expresión de parámetros de calidad Medidas Herramientas Relación con el dominio de aplicación ‘Vistas’ arquitectónicas

edu.red 47 P1. Definición de AS Una AS es algo más que una descripción de la estructura de una aplicación ¿Qué es ese algo más? ¿Cómo se expresa? Otras definiciones alternativas de AS: “A Software Architecture is a collection of categories of elements that share the same likelihood of change. Each category contains software elements that exhibit shared stability characteristics”

edu.red 48 P2. Parámetros de Calidad Actualmente no se tienen en cuenta. “…ilities”: portability, traceability,… “…nesses”: correcness, robustness, … Propios del tiempo de ejecución (dinámicos): Performance, security, availability, functionality, usability, etc. Intrínsecos a la AS (estáticos): Modifiability, portability, reusability, integrability, testability, etc.

edu.red 49 P3. Medidas Necesarias para poder hablar de Ingeniería del Software Deberían estimar, de forma cuantitativa: Tamaño Estructura Calidad del diseño … Funcionales (estructuradas)/Orientadas a Objeto

edu.red 50 P4. Herramientas Diseño Documentación Pruebas Análisis de propiedades (formales) Generación de código/prototipos

Partes: 1, 2, 3, 4
 Página anterior Volver al principio del trabajoPágina siguiente