Son arquitecturas diseadas para cubrir un sistema o una familia de sistemas pero muy centradas en un rea o dominio determinado y enfocadas a la reutilizacin. Al igual que los modelos generales, tambin pueden usarse los modelos arquitectnicos que son especficos para un dominio particular de aplicacin. Si bien las instancias de estos sistemas difieren en los detalles, la estructura arquitectnica comn puede realizarse cuando se desarrollan nuevos sistemas. Existen dos modelos de dominio especfico: 1. Modelos genricos que son abstracciones de varios sistemas reales. 2. Modelos de referencia que son modelos abstractos y describen a una clase mayor de sistemas. Modelo genrico: flujo de datos de un compilador Modelo de Referencia: La arquitectura OSI. Pasos para su construccin: 1. Definicin del dominio. 2. Definicin de requisitos y conceptos del dominio especfico. 3. Definicin de restricciones de implementacin del dominio. 4. Desarrollo de modelos y arquitecturas del dominio. 5. Generacin de productos reutilizables. Arquitecturas de Software Reutilizables El objetivo principal es poder reutilizar partes de una arquitectura, modelos arquitectnicos, arquitecturas de referencia o componentes de la misma de manera que no sea necesario volver a disear el modelo completo. Utilizan componentes reutilizables y se obtienen, generalmente, mediante procesos de Ingeniera del Dominio. De esta forma es posible obtener un ahorro de costes y tiempo en la creacin de nuevos sistemas de software.
Existen dos modelos de dominio especfico:
Modelos genricos que son abstracciones de varios sistemas reales. Modelos de referencia que son modelos abstractos y describen a una clase mayor de sistemas. 1.
Modelo genrico: flujo de datos de un compilador
2.
Modelo de referencia: la arquitectura OSI
Un sistema multiproceso o multitarea es aquel que permite ejecutar
varios procesos de forma concurrente, un multiprocesador es aquel que cuenta con dos o ms microprocesadores. Un sistema multiproceso o multitarea es aquel que permite que se ejecuten varios procesos de forma concurrente. Cabe recalcar que a nica forma de que se ejecuten de forma simultnea varios procesadores es tener varias CPUs (ya sea en una maquina en o en varias, en un sistema distribuido). El multiproceso no es ms que un conjunto de tareas que pueden ser completadas rpidamente si hay varias unidades de proceso ejecutndolas. Para el desarrollo de estos procesos se ocupan modelos de programacin concurrente y paralela: Los objetivos de la programacin paralela, son: Reducir el tiempo de cmputo. Reducir la complejidad del algoritmo, Aprovechar al mximo la capacidad de las computadoras multiproceso. Existen diferentes tipos de programacin: Multihilo: El cual permite a una aplicacin realizar varias tareas concurrentemente. Los distintos hilos que se ejecutan comparten una serie de recursos.
El reto para el
diseo es disear el software y hardware para proporcionar
caractersticas deseables a los sistemas distribuidos y, al mismo tiempo, minimizar los problemas propios a estos sistemas. Es necesario comprender las ventajas y desventajas de las diferentes arquitecturas de sistemas distribuidos. Aqu se tratan dos tipos genricos de arquitecturas de sistemas distribuidos: Arquitectura cliente-servidor. En este caso el sistema puede ser visto como un conjunto de servicios que se proporcionan a los clientes que hacen uso de dichos servicios. Los servidores y los clientes se tratan de forma diferente en estos sistemas. Arquitecturas de objetos distribuidos. Para esta arquitectura no hay distincin entre servidores y clientes, y el sistema puede ser visto como un conjunto de objetos que interaccionan cuya localizacin es irrelevante. No hay distincin entre un proveedor de servicios y el usuario de estos servicios. Ambas arquitecturas se usan ampliamente en la industria, pero la distribucin de las aplicaciones generalmente tiene lugar dentro de una nica organizacin. La distribucin soportada es, por lo tanto, intraorganizacional. Tambin se pueden tomar dos tipos ms de arquitecturas distribuidas que son ms adecuadas para la distribucin interorganizacional: arquitectura de sistemas peer-to-peer (p2p) y arquitecturas orientadas a servicios. Los sistemas peer-to-peer han sido usados principalmente para sistemas personales, pero estn comenzando a usarse para aplicaciones de empresa. Son modelos de arquitectura los cuales son especficos para algn
dominio de Dos tipos de modelos de dominio especfico son:
aplicacin.
Modelos Genricos. Estos son abstracciones de un nmero de
sistemas reales y que encapsulan las caractersticas principales de estos sistemas. Modelos de Referencia. Estos son ms abstractos, son modelos idealistas. Proporcionan un significado de informacin con respecto a sistemas de clases y comparacin de diversas arquitecturas. Modelos genricos Un modelo de Compilador es un ejemplo conocido a travs de otros modelos que existen en dominios de aplicaciones especializadas: Analizador Lxico. Tabla de Smbolos. Analizador de Sintaxis Analizador Semntico. Generador/Optimizador de Cdigo. Un modelo de compilador genrico puede ser organizado de acuerdo a diversos modelos de arquitectura. ARQUITECTURAS DE REFERENCIA Los modelos de referencias son derivados del estudio del dominio de una aplicacin, en lugar del estudio de sistemas existentes. Pueden ser utilizados como una base para la implementacin de un sistema o para comparar sistemas diversos. Actan como un estndar, contra el cual los sistemas que pueden ser evaluados. El modelo OSI es un modelo en capas para sistemas de comunicacin, y adems, es un modelo de referencia. La arquitectura de software es la responsable de la derivacin de un modelo de sistema estructural, un modelo de control y un modelo de descomposicin en subsistemas. Los sistemas grandes rara vez conforman un modelo simple de arquitectura. Los modelos de estructuracin de un sistema incluyen modelos repositorios, los modelos cliente-servidor y los modelos de mquina abstracta.
Los modelos de control incluyen control centralizado y modelos
manejadores de eventos. Los modelos de descomposicin modular incluyen los modelos orientados a objetos y los modelos de flujo de datos.