A medida que uma camada e desenvolvida, alguns servicos fornecidos por aquela camada podem se tornar disponiveis para os usuarios. Se sua interface for preservada, uma camada podera ser substituida por outra. Quando as interfaces em camadas se modificam, somente a camada adjacente e afetada.Modelo de ControleControlam os subsistemas de modo que seus servicos sejam fornecidos no local certo e no tempo certo. Em nivel de arquitetura dizem respeito ao controle de fluxo entre subsistemas.Duas abordagens gerais de controle podem ser identificadasControle CentralizadoUm subsistema tem a responsabilidade geral pelo controle, e iniciar e interromper os outros subsistemas, os modelos de Controle Centralizado se dividem em duas classes:Modelo retorno de chamadas: Esse e o modelo de sub-rotina top-dawn, em que o controle comeca na parte superior de uma hierarquia de sub-rotina e, por meio de chamadas de sub-rotina, passa para varios niveis mais fortes na arvore. O modelo de sub-rotina aplica-se apenas a sistemas sequenciais.Modelo gerenciador: Neste modelo um componente e designado como um gerenciador do sistema e controla o inicio, a interrupcao e a coordenacao de outros processos de sistema.Um processo e um subsistema ou um modulo que pode ser executado em paralelo com outros processos. Pode ser aplicado a sistemas concorrentes. Uma variacao desse modelo tambem pode ser aplicada em sistemas sequenciais, em que uma rotina de gerenciamento chama determinados subsistemas.A natureza rigida e restrita do modelo retorno de chamadas e, ao mesmo tempo, um ponto forte e fraco. E um ponto forte porque e relativamente simples analisar fluxos de controle e concluir como o sistema respondera a estrada especifica. E um ponto fraco porque e dificil lidar com as excecoes feitas a operacao normal. O modelo gerenciador e, frequentemente, utilizado em sistemas em tempo real simples, que nao tem restricoes de tempo muito rigidas. De modo geral o controlador esta em um loop continuo, verificando sensores e outros processos para eventos e mudancas de estado. Por esta razao, esse modelo e, algumas vezes, chamado de loop de eventos.Sistemas Orientados a EventosSao baseados em eventos gerados externamente. O termo evento, nao significa somente um sinal binario, ele pode ser um sinal capaz de assumir uma gama de valores. Existe tipos diferentes de sistemas orientados a eventos, que podem ser desenvolvidos. Eles podem ser planilhas de calculos, em que a mudanca de valor de uma celula faz com que outras celulas sejam modificadas; objetos ativos,em que a mudanca de um valor de atributo de um objeto inicia uma acao.Podemos citar dois modelos de controle orientado a objetoModelo de transmissao: Onde um evento e, em principio, transmitido para todos os subsistemas. Qualquer subsistema que puder manipular esse evento respondera a ele.Modelo orientado a interrupcoes: Eles sao exclusivamente utilizados em sistemas de tempo real, em que interrupcoes externas sao detectadas por um manipulador de interrupcoes.Decomposicao em modulosE o processo do projeto de arquitetura que decompoe os subsistemas em modulos. Nao ha uma distincao rigida entre a decomposicao de sistemas e a decomposicao em modulos.Contudo os componentes em modulos sao geralmente menores do que os subsistemas, e isso permite que sejam utilizados modelos alternativos de