Linguagens de Descrição Arquitetural: Motivação e ACME. Jair C Leite
|
|
- Luna Sales Tavares
- 6 Há anos
- Visualizações:
Transcrição
1 Linguagens de Descrição Arquitetural: Motivação e ACME Jair C Leite Motivação A visão emergente da arquitetura de software, a partir de meados de 90, possui requisitos que não são atendidos por linguagens de modelagem tradicionais Problemas Elas oferecem apenas um única forma de conexão: Chamada de função, procedimento ou método Não permitem a descrição hierárquica de sistemas em diferentes níveis de abstração Não permitem definição de famílias de sistemas Não oferecem para a análise de propriedades não funcionais (desempenho, segurança, disponibilidade) 1
2 Linguagens de Descrição Arquitetural Linguagens de Descrição Arquitetural são aquelas projetadas para descrever a arquitetura na visão de componentes, conectores e configurações Existem varias linguagens para descrição de arquiteturas ACME é uma linguagem de referência para ADLs A UML 1.x não oferece recursos para ser considerada uma ADL A UML 2.0 oferece alternativas para alguns aspectos de ADL Exemplos de ADLs Em geral cada ADL oferece capacidades específicas AESOP: permite o uso de estilos arquiteturais ADAGE: permite a descrição de frameworks arquiteturais para sistemas de aviação C2: permite a descrição de sistemas de interface com usuário usando um estilo baseado em mensagem Wright: suporta a especificação e análise de interações entre componentes arquiteturais Rapide: permite a simulação e análise de diferentes soluções arquiteturais UniCon: possui um compilador alto-nível com suporte a diferentes tipos de componentes e conectores 2
3 ACME Motivação: Proliferação de ADLs Necessidade de um formato padrão Metas Permitir a integração de diferentes ferramentas oferecendo uma forma comum de intercâmbio arquitetural Permitir o desenvolvimento de arquitetura compatível com múltiplas ADLs Esclarecer o relacionamento entre diferentes ADLs ACME Linguagens e ferramentas Possuem 3 capacidades fundamentais Descrição arquitetural Oferecer os recursos necessários para satisfazer todos os requisitos de uma descrição arquitetural Intercâmbio arquitetural Formato de intercâmbio genérico para arquiteturas produzidas por diferentes ferramentas Fundamentos extensíveis para ferramentas de design e análise arquitetural Diminuir os custos para o desenvolvimento de novas ferramentas 3
4 ACME - Objetivos Secundários Oferecer um esquema para representação de arquiteturas que irá permitir o desenvolvimento de novas ferramentas para análise e visualização de estruturas arquiteturais Oferecer uma fundamentação para o desenvolvimento de ADLs Servir como veículo para criar convenções e padrões para informação arquitetural Oferecer descrições expressivas que são fáceis de ler e escrever ACME - Exemplo Client RPC Server System simple_client_server = { Component client = { Port send-request Component server = { Port receive-request Connector rpc = { Roles {caller, callee Attachments: { client.send-request to rpc.caller ; server.receive-request to rpc.callee 4
5 ACME - Características Ontologia arquitetural Sete elementos para design arquitetural Mecanismo de Anotação Suporte a associação de informação não estrutural usando sub-linguagens definidas externamente Mecanismo de Tipos Para definir estilos e padrões reutilizáveis Framework de semântica aberta Para analisar as descrições arquiteturais ACME - Elementos Sete tipos de entidades para representação arquitetural: Componentes Conectores Sistemas Portas Papéis Representações Rep-Maps 5
6 ACME - Componentes Componentes Elementos primários de computação e armazenagem de dados Exemplos típicos: Clientes Servidores Client Filtros Objetos Repositórios (blackboard) Banco de dados Server ACME - Conectores Representam interações entre componentes Intermediários na comunicação e coordenação entre componentes Exemplos: Chamadas de função, procedimento ou método Eventos RPC (chamada de procedimento remota) Tubos (entre filtros) Protocolos de comunicação Client RPC Server 6
7 ACME - Sistemas Representam configurações de componentes e conectores A topologia de um componentes é descrita por uma lista de attachments System Client RPC Server ACME - Attachments Um attachment define como conectores e componentes estão ligados numa configuração As ligações são feitas conectando-se portas do componentes a papeis dos conectores Portas Client Server Papéis 7
8 Exemplo (novamente) System Portas Client Server Papéis System simple_client_server = { Component client = { Port send-request Component server = { Port receive-request Connector rpc = { Roles {caller, callee Attachments: { client.send-request to rpc.caller ; server.receive-request to rpc.callee ACME - Portas Interfaces dos componentes são definidas por portas Cada porta identifica um ponto de interação entre o componente e seu ambiente Um componente pode prover múltiplas interfaces usando diferentes tipos de portas Exemplos Assinaturas de Métodos Coleção de chamadas de procedimentos que devem ser invocadas Um evento 8
9 ACME - Papéis Interfaces dos Conectores são definidas por papéis Cada papel de um conector define um participante da interação representada pelo conector Conectores Binários têm dois papéis: Em RPC: Caller (chamador) e Callee (chamado) Em um Pipe: Leitor e Escritor Outros tipos de conectores podem ter mais que dois papéis. Exemplo: Broadcast de eventos pode ter um papel de um announcer e um número arbitrário de papeis de receiver. Connector EventBus = { Role Pusblisher; Role Listener1; Role Listener2; Connector req = { Role requestor; Role requestee; ACME Exemplo (revisão) System ClientServerSystem = { Component server = { Port requests; ; Component client1 = { Port makerequest; ; Connector req = { Role requestor; Role requestee; ; Attachments { server.requests to req.requestor; client.makerequest to req.requestee; 9
10 ACME - Representação Usado para descrição da representação hierárquica de arquiteturas O uso de múltiplas representações permite expressar múltiplas visões das entidades arquiteturais Component server = { Port receiverequest; Representation serverdetails = { Component connectionmanager = { Port {securitycheck ACME Representação - exemplo O exemplo abaixo mostra um componentes que é detalhado em dois componentes. Component thecomponent = { Port easyrequests; Port hardrequests; Representation { System details = { Component fastbutdumbcomponent = {Port p; ; Component slowbutsmartcomponent = { Port p;; ; Bindings { easyrequests to fastbutdumbcomponent.p; hardrequests to slowbutsmartcomponent.p ; ; ; easyrequests thecomponent fastbutdumbcomponent hardrequests slowbutsmartcomponent 10
11 Visualização das representações System Portas Client Server Papéis Representação com pouca memória Representação de alto desempenho ACME - Propriedades Para acomodar a ampla variedade de informações auxiliares, ACME suporta anotação de estruturas arquiteturais com listas de propriedades Cada propriedade tem: nome, tipo opcional e valor Qualquer um dos sete tipos de entidades arquiteturais ACME podem ser anotadas Component Server = { Port requests; Properties {responsetime : Float = << units="ms">>; Component server = { Port receiverequest; Properties { idempotent : boolean = true; maxconcurrentclients : integer = 1; multithreaded : boolean = false; sourcecode : externalfile = "CODE-IB/server.c" 11
12 ACME - Exemplo com Propriedades System simple_cs = { Component client = { Port send-request; Properties { Aesop-style: style-id = client-server; Unicon-style: style-id = cs; source-code: external = CODE-LIB/client.c Component server = { Port receive-request Properties { idempotence: boolean = true; max_concurrent_clients : integer = 1; source-code: external = CODE-LIB/server.c Connector rpc = { Roles {caller, callee Properties { synchronous : boolean = true; max_roles : integer = 2; protocol = Wright =... Attachments: { client.send-request to rpc.caller ; server.receive-request to rpc.callee ACME Modelando Tubos e Filtros System TwoFiltersOnePipe = { Component Filter1 = { Port out; Property implementation : String = "while (!eof) { compute; out.write"; Component Filter2 = { Port in; Property implementation : String = "while (!in.eof) { compute; in.read"; Filter 1 out from Pipe to Conector Pipe = { Role from; Role to; Property buffersize: int = 10; Attachments { Filter1.out to Pipe.from; Filter2.in to Pipe.to; in Filter 2 12
13 ACME Definindo famílias e tipos Family PipeFilterFam = { Component Type FilterT = { Ports (in; out; Property throughput: int; ; Conector Type PipeT = { Roles {source; target; ; Property buffersize : int; System simplepf : PipeFilterFam = { Component Filter1 : FilterT = new FilterT; Component Filter2 : FilterT = new FilterT; Component Filter3 : FilterT = new FilterT; Conector first : PipeT = new PipeT; Conector second : PipeT = new PipeT; Attachments { Filter1.out to first.source; Filter2.in to first.target; Filter2.out to second.source; Filter3.in to second.target; Armani Armani Uma extensão de ACME Composta por: Uma Linguagem para descrever a arquitetura de software (ADL) - ACME Uma Linguagem de Restriçoes (Constraint language) que é uma linguagem baseada em lógica de predicados de primeira ordem O ambiente Armani (Armani environment) 13
14 Armani Linguagem Declarativa Estrutura Arquitetural e restrições (constraints) sobre a estrutura Constraints Permite determinar INVARIANTES associados a elementos arquiteturais Exemplos: Topologia Properties Tipos de Elementos Comportamento do Sistema Possiveis configurações durante a execução Exemplo de Constraints System simplecs = { // simple rule requiring a primary server Invariant exists s : server in self.components s.isprimaryserver == true; // simple performance heuristic Heuristic forall s : server in self.components s.transactionrate >= 100; // do not allow client-client connections Function no-peer-connections(sys : System) = forall c1, c2 in sys.components connected(c1, c2) ->!(declarestype(c1,clientt) and declarestype(c2, clientt)); ; 14
15 Tipos Armani tem um sistema de tipos: permite verificar as restrições para um dado tipo (útil para evolução) suporta duas categorias de tipos de expressões: Tipos de Elementos: component, connector, port and role types Tipos de Propriedades: primitive, compound O sistema de tipos de Armani system é chamado de Estilo Arquitetural Exemplo de Types Component Type Component Type Client = { Port request = {Property protocol: string = sunrpc ; // all ports must support the sun-rpc protocol Invariant forall p in self.ports p.protocol = sunrpc ; Criando uma Instância Component C:Client = new Client 15
16 Estilo Arquitetural Um pacote de elementos Armani e constraints Um estilo é um tipo de um sistema Exemplo: client-server style, publishsubscribe style Tipos determinam o vocabulário do estilo Exemplo de Styles Style client-server-style = { // declare vocabulary Component Type client = {...; Component Type server = {...;... Function no-peer-connections(sys : System) = {... ;... Invariant no-peer-connections(self); Heuristic forall s : server in self.components s.transactionrate >= 100;... // end style definition 16
17 Tipos v/s Styles Tipos Define uma coleção de elementos arquiteturais relacionados Exemplos: filter component, pipe-connector, clientserver connector, dataflow-input-port Styles (chamados de Familias ) Uma coleção de tipos e um conjunto de restrições Tipos determinam o vocabulario do estilo Constraints determinam como o vocabulario pode ser usado Exemplos: pipe-filter family, client-server family Extend with clausula É possível estender uma instância de um tipo Útil para subtipagem Component Type Specialclient extends Client with { Port Request = {Property protocol ; Invariant timeout < 60.0; Component c = { ; extended with {Representation r1 = { ; Representation r2 = { ;; 17
18 Predicados Funções definidas pelo usuário que podem ser invocadas por Invariantes e Heurísticas Function no-peer-connections(sys : System) = forall c1, c2 in sys.components connected(c1, c2) ->!(declarestype(c1,clientt) and declarestype(c2, clientt)); ; Exemplo Geral System simple_cs = { Component client = { Port send-request; Properties { Aesop-style: style-id = client-server; Unicon-style: style-id = cs; source-code: external = CODE- LIB/client.c Component server = { Port receive-request Properties { idempotence: boolean = true; max_concurrent_clients : integer = 1; source-code: external = CODE- LIB/server.c Connector rpc = { Roles {caller, callee Properties { synchronous : boolean = true; max_roles : integer = 2; protocol = Wright =... Attachments: { client.send-request to rpc.caller ; server.receive-request to rpc.callee 18
19 Referência An overview of the Acme language The Acme version 2.0 BNF The Acme version 3.0 BNF is forthcoming. A rough draft of the article Modeling a System in Acme 19
Introdução a UML (Unified Modeling Language)
Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário
Leia maisUML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos
UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.
Leia maisArquitetura de Software: Introdução
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Introdução SCE 526 Análise e Projeto Orientados a Objeo Profa. Elisa Yumi Nakagawa 2. Semestre de 2013
Leia maisAULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.
AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos
Leia maisProgramação Orientada a Objetos Relacionamentos entre classes
Programação Orientada a Objetos Relacionamentos entre classes Prof. Vicente Paulo de Camargo RELACIONAMENTO ENTRE CLASSES Interface agregação Dependencia composição generalização associação RELACIONAMENTO
Leia maisArquitetura de Software: Documentação
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Documentação SCE 526 Análise e Projeto Orientados a Objeto Profa. Elisa Yumi Nakagawa 2. Semestre de
Leia maisEsta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,
Leia maisCiência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo
Ciência da Computação Análise e Projeto Orientado a Objetos UML Anderson Belgamo 1 Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br O que é?? 2 A UML
Leia maisUniversidade Federal de Goiás Estilos Arquiteturais
Universidade Federal de Goiás Estilos Arquiteturais Prof. Helder Brito Nascimento Instituto de Informática helderbn@gmail.com O que é um estilo de arquitetura Como você diferencia uma construção da outra?
Leia maisArquitetura de Software: Introdução
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Introdução SSC-121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012 Conteúdo
Leia maisAs Visões. Visões arquiteturais (revisão)
As 4 + 1 Visões Jair C Leite Visões arquiteturais (revisão) Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da engenharia.
Leia maisArquitetura de software
Arquitetura de software Problema: vamos implementar um clone do compraentrega.com.br Mantém preços atualizados Recebe encomendas e pagamento Recomenda itens a usuários Por onde começamos? Arquitetura =
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com
Leia maisSistemas de Banco de Dados
Sistemas de Banco de Dados Fundamentos em Bancos de Dados Relacionais Wladmir Cardoso Brandão www.wladmirbrandao.com Departamento de Ciência da Computação (DCC) Instituto de Ciências Exatas e Informática
Leia maisNotas de Aula 03: Introdução a Orientação a Objetos e a UML
Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas
Leia maisModelagem de dados usando o modelo Entidade- Relacionamento (ER)
Modelagem de dados usando o modelo Entidade- Relacionamento (ER) slide 1 Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Tópicos Usando modelo de dados conceituais de alto nível
Leia maisAgenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software
Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais
Leia maisArquitetura de Software (AS) Arquitetura de Software. Motivação para AS. Motivação para AS. Terminologias em AS. Terminologias em AS
Requisitos do Sistema Arquitetura de Software Ponte entre os requisitos do sistema e sua implementação Arquiteto(s) Arquitetura Implementação do Sistema Arquitetura de Software (AS) Abstração que ajuda
Leia maisExemplos de Estilos Arquiteturais. Estilos Arquiteturais. Estilos Arquiteturais. Estilo: Pipe e Filtros
Estilos Arquiteturais Em geral sistemas seguem um estilo, ou padrão, de organização estrutural Os estilos diferem: nos tipos de componentes que usa na maneira como os componentes interagem com os outros
Leia maisModelo Entidade Relacionamento
Programa DCC011 Introdução a Banco de Dados Modelo Entidade Relacionamento Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Introdução Conceitos
Leia maisSistemas Distribuídos
Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.
Leia maisUML Relacionamentos. Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos:
Relacionamentos Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos: Dependência Generalização Associação Realização Relacionamentos - Dependência
Leia maisCapítulo 2. Orientação a Objetos
Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos
Leia maisArquitetura e Objetos Distribuídos em CORBA. Aula 3. Especificações OMA Object Web
Arquitetura e Objetos Distribuídos em CORBA Aula 3 Especificações OMA Object Web The Client/Server Evolution O que é a tecnologia CORBA? CORBA Common Object Request Broker Architecture Uma camada de software
Leia maisUML Unified Modeling Language Linguagem de Modelagem Unificada
UML Unified Modeling Language Linguagem de Modelagem Unificada Prof. Gilberto Porto e-mail: porto@gilbertoporto.com.br A linguagem UML n UML (Unified Modeling Language) Linguagem de Modelagem Unificada
Leia maisO conceito de casos de uso foi criado em 1986 por Ivar Jacobson, metodologista e um dos pais do Processo Unificado.
Modelagem de casos de uso Casos de uso O conceito de casos de uso foi criado em 1986 por Ivar Jacobson, metodologista e um dos pais do Processo Unificado. O que é Segundo Ivar Jacobson, um caso de uso
Leia maisLição 4 Fundamentos da programação
Lição 4 Fundamentos da programação Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Identificar as partes básicas de um programa em Java Reconhecer as diferenças
Leia maisPCS3413 Engenharia de Software e Banco de Dados
PCS3413 Engenharia de Software e Banco de Dados Aula 23 Escola Politécnica da Universidade de São Paulo 1 Acoplamento! Indica dependência entre classes.! Deve ser o menor possível.! Direcionar associações
Leia maisARQUITETURA DE SOFTWARE 1
ARQUITETURA DE SOFTWARE 1 O que é arquitetura de software? Uma arquitetura de software deve conter: a definição dos elementos de projeto que compõe o software; a descrição das interações entre estes elementos;
Leia maisUML. Adriano J. Holanda 21/3/
UML Adriano J. Holanda 21/3/2016 UML Introdução UML - Unified Modeling Language Linguagem Unificada de Modelagem. Adquiriu maturidade na segunda década de 1990 pela fusão dos métodos e diagramas de Grady
Leia maisIntrodução a Web Services
Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas
Leia maisUML. Modelando um sistema
UML Modelando um sistema Fases do desenvolvimento de Software Análise de requisitos Análise Projeto Programação Análise de Requisitos Esta fase captura as intenções e necessidades dos usuários do sistema
Leia mais9 Classes Abstractas e Interfaces
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisFundamentos de Rede. Aula 2 - Modelo OSI
Fundamentos de Rede Aula 2 - Modelo OSI Protocolo e Arquitetura de Protocolos Problema Permitir a comunicação entre entidades de diferentes sistemas Solução Criar convenções de quando e como se comunicar
Leia maisModelagem Conceitual Orientada a Objetos. Classes e Tipos. Classe x Tipo x Instância...
Modelagem Conceitual Orientada a Objetos Fernanda Baião UNIRIO Material parcialmente extraído a partir das notas de aula de Maria Luiza M. Campos, Arnaldo Vieira e Maria Cláudia Cavalcanti 1 Classes e
Leia maisDiagrama de Casos de Uso
DCC / ICEx / UFMG Diagrama de Casos de Uso Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Diagrama de Casos de Uso Adota uma linguagem simples Acessível ao cliente Objetivo é a compreensão do comportamento
Leia maiscontidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.
Web Services Web Service é um componente de software identificado por uma URI que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado sobre uma rede por meio de mensagens
Leia maisApresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:
Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas
Leia maisSérgio Koch Van-Dall
PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTILIZANDO WEB SERVICES Sérgio Koch Van-Dall sergiod@inf.furb.br Orientador: Prof. Paulo Fernando da Silva UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE CIÊNCIAS
Leia maisDesenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos
Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos Segundo Workshop de Desenvolvimento Baseado em Componentes Itana Maria de Souza Gimenes itana@din.uem.br Departamento de Informática
Leia maisJADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp.
JADEX: A BDI REASONING ENGINE Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. 149-174 Volume 15 Motivação Existem muitas plataformas para desenvolvimento
Leia maisComunicação em Sistemas Distribuídos. Bruno M. Carvalho Sala: 3B2 Horário: 35T34
Comunicação em Sistemas Distribuídos Bruno M. Carvalho Sala: 3B2 Horário: 35T34 Comunicação em Sistemas Distribuídos Protocolos regras que os processos que estão se comunicando tem de seguir Protocolos
Leia maisDiagrama de Classes (Notação) - Aula 11 (parte 2)
Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Diagrama de Classes (Notação) - Aula 11 (parte 2) Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela
Leia maisIntrodução à Programação
Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira
Leia maisPROJETO DE PROGRAMAS. Projeto de Programas PPR0001
PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes
Leia maisRequisitos de sistemas
Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento
Leia maisMODELAGEM DE PROCESSOS MÓDULO 9
MODELAGEM DE PROCESSOS MÓDULO 9 Índice 1. Processo de Desenvolvimento de Sistemas - Continuação..3 1.1. Diagramas de Casos de Uso... 3 2 1. PROCESSO DE DESENVOLVIMENTO DE SISTEMAS - CONTINUAÇÃO 1.1. DIAGRAMAS
Leia maisRequisitos de Software e UML Básico. Janaína Horácio
Requisitos de Software e UML Básico Janaína Horácio janaina@les.inf.puc-rio.br Agenda Requisitos O que é? Objetivos? Atividades?... UML O que é? Modelos... Casos de Uso O que é? Componentes 2 Requisitos
Leia maisObtendo Interoperabilidade Semântica em Sistemas. Metamorphosis
Obtendo Interoperabilidade Semântica em Sistemas Heterogéneos de Informação com Metamorphosis Giovani R. Librelotto José Carlos Ramalho Pedro R. Henriques Departamento de Informática Universidade do Minho
Leia maisDocumento de Arquitetura de Software- SGE
Documento de Arquitetura de Software- SGE IFG Autor: Marcelo Roldrin Barros Silva 1. Introdução 1.1 Finalidade Este documento oferece uma visão geral arquitetural abrangente do sistema SGE (Sistema de
Leia mais1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs
1 Introdução Os sistemas multiagentes (SMAs) estão tendo cada vez mais aceitação no setor da engenharia de software e no meio acadêmico como um paradigma para o desenvolvimento e a criação de sistemas
Leia maisSistemas de PROFA. LILLIAN ALVARES FACULDADE DE CIÊNCIA DA INFORMAÇÃO
Sistemas de Organização do Conhecimento PROFA. LILLIAN ALVARES FACULDADE DE CIÊNCIA DA INFORMAÇÃO UNIVERSIDADE DE BRASÍLIA Sistemas de Organização do Conhecimento tem como principal p objetivo...... a
Leia maisTópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS
Leia maisModelagem de Processos
Modelagem de Processos Prof.: Fernando Ascani Itens Estruturais Classes Uma Classe é um conjunto de objetos que compartilham os mesmos atributos, operações e relacionamentos. É representada graficamente
Leia maisAnálise Orientada a Objetos. Análise e Projeto
Análise Orientada a Objetos Análise e Projeto Análise versus Projeto Foco no entendimento do problema Projeto idealizado Comportamento Estrutura do sistema Requisitos funcionais Modelos simples Foco no
Leia mais5 Trabalhos Relacionados
5 Trabalhos Relacionados Durante o trabalho desenvolvido nesta dissertação foram estudadas diversas tecnologias que têm objetivos semelhantes ao nosso. Os trabalhos estudados apresentam modelos de programação
Leia maisIntrodução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Leia maisBanco de Dados. Professor: Marcelo Machado Cunha IFS Campus Aracaju
Banco de Dados Professor: Marcelo Machado Cunha IFS Campus Aracaju Definição Banco de Dados Conjunto de dados interrelacionados que objetivam atender as necessidades de um conjunto de usuários. Inglês:
Leia maisUnidade: Introdução à POO (Programação Orientada a Objetos)
Unidade: Introdução à POO (Programação Orientada a Objetos) 0 Unidade: Introdução à POO (Programação Orientada a Objetos) Paradigmas de Programação Um paradigma de programação fornece (e determina) a visão
Leia maisBibliografia. UML: visão geral. Prof.: Clarindo Isaías Pereira da Silva e Pádua. UML: visão geral
UML: visão geral Prof.: Clarindo Isaías Pereira da Silva e Pádua Synergia / Gestus Departamento de Ciência da Computação - UFMG UML: visão geral 2 Bibliografia Rumbaugh, J.; Jacobson, I.; Booch, G., The
Leia maisContexto. Motivação. variabilidade. variabilidade
Representação de Variabilidades em Componentes de Negócio no Contexto da Engenharia de Domínio Regiane Oliveira Ana Paula Blois Aline Vasconcelos Claudia Werner Roteiro Contexto Motivação Variabilidade
Leia maisProtótipo de Protocolo de Aplicação para Troca de Documentos da Área Extra Judicial. Acadêmico: Fabrício Bento Orientador: Paulo Fernando da Silva
Protótipo de Protocolo de Aplicação para Troca de Documentos da Área Extra Judicial Acadêmico: Fabrício Bento Orientador: Paulo Fernando da Silva Conteúdo Introdução Fundamentação teórica Desenvolvimento
Leia maisManual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Simplificada (Juridica) Versão: 1.0. Autor: Angelo Bestetti Junior
Manual de Integração Tecnologia: WebServices SOAP XML Área: CDC Produto: CDC Simplificada (Juridica) Versão: 1.0 Autor: Angelo Bestetti Junior Conteúdo Introdução... 3 Considerações Iniciais... 4 Privacidade...
Leia maisModelagem de Sistemas. Análise de Requisitos. Modelagem
Modelagem de Sistemas Teoria Geral de Sistemas TADS 2. Semestre Prof. André Luís Para abordarmos de forma mais profunda os conceitos de Modelagem de Sistemas de Informação, precisamos também falar na Engenharia
Leia maisProgramação Orientada a Objeto
Programação Orientada a Objeto Prof. Esp. Thiago S F Carvalho Faculdades Integradas de Diamantino 2016 Caravalho, T.S.F. (FID) POO 2016 1 / 44 Breve revisão Conteúdo 1 Breve revisão 2 Mais sobre classes
Leia maisArquitetura de Software
Arquitetura de Software A arquitetura de um software é uma estrutura de componentes interconectados através de interfaces Componentes são compostos de componentes menores e interfaces A interação entre
Leia maisJava RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação
Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar
Leia maisAula 2 BD Introdução. Profa. Elaine Faria UFU
Aula 2 BD Introdução Profa. Elaine Faria UFU - 2017 Motivação A quantidade de informação disponível está crescendo exponencialmente Os dados e as informações tem um papel importante para as organizações
Leia maisDDL). O resultado da compilação dos parâmetros DDLs é
Banco Dados Aula 2 Linguagens de Banco de Dados e Tipos de Usuários 1. Linguagens de Banco de Dados Um sistema de banco de dados proporciona dois tipos de linguagens: uma específica para os esquemas do
Leia maisSGBD. Definição. Funções básicas
Definição Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco dados. Funções básicas Métodos acesso Integrida Semântica Segurança Concorrência
Leia maisModelagem de Processos com IDEF0
Modelagem de Processos com IDEF0 Luiz Lourenço de Mello Filho Mestre em Economia Empresarial pela Universidade Candido Mendes e em Computação Aplicada e Automação pela Universidade Federal Fluminense,
Leia maisVisão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012
Visão Geral da UML SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Introdução Ferramentas de Apoio Diagramas da UML Elementos Genéricos Material sobre UML
Leia maisIntrodução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s
Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas
Leia maisCenário atual UML Histórico
a UML (Unified Modeling Language) Roteiro Cenário atual UML Histórico 1 Qual é o cenário atual? Quais são suas necessidades para o sistema? Preciso de um sistema que controle todas as vendas de meus produtos...
Leia maisDocumento Especificação de Requisitos da Ferramenta de construção de Modelos de Casos de Uso.
Documento Especificação de Requisitos da Ferramenta de construção de Modelos de Casos de Uso. Objetivo: Construção de uma ferramenta capaz de auxiliar a construção de modelos de casos de uso de sistemas,
Leia maisMODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão
Unidade 4 Modelo de Classes de Projeto Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático Definição da Visibilidade entre Objetos Adição de Operações às Classes de Projeto Adição
Leia maisAULA 11 PROGRAMAÇÃO ORIENTADA A OBJETOS (INTRODUÇÃO) Disciplina: Programação Orientada a Objetos Professora: Alba Lopes
AULA 11 PROGRAMAÇÃO ORIENTADA A OBJETOS (INTRODUÇÃO) Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br CONCEITOS FUNDAMENTAS Na computação, temos um problema a ser
Leia maisAula 12: Memória: Barramentos e Registradores
Aula 12: Memória: Barramentos e Registradores Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Memória: Barramentos e Registradores FAC 1 / 34
Leia maisEngenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira
Engenharia de Software Aula 10 Representação dos Conceitos de Orientação a Objetos Prof. Me. Rogério Ferreira 2 Roteiro Representação dos Conceitos OO Mensagens Navegabilidade Pacotes Encapsulamento Herança
Leia maisFerramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes
Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores
Leia mais5 Usando as Representações de Design Rationale
5 Usando as Representações de Design Rationale Como mencionamos anteriormente, representar design rationale em uma linguagem formal usando o modelo formal dos artefatos nos permite atribuir semântica ao
Leia maisIntrodução. O que é um Banco de Dados (BD)?
O que é um Banco de Dados (BD)? É uma coleção de dados relacionados e armazenados em algum dispositivo Associações aleatórias de dados não podem ser chamadas de base de dados Conceito de dados Valor de
Leia maisPanorama da notação UML
Panorama da notação UML A notação UML (Unified Modeling Language linguagem de modelagem unificada) evoluiu desde que foi adotada a primeira vez como um padrão em 1997. Uma revisão maior para o padrão foi
Leia maisSSC Engenharia de Software. Prof. Paulo C. Masiero
SSC - 5764 Engenharia de Software Prof. Paulo C. Masiero Processo de Software: Fases ou Subprocessos DEFINIÇÃO CONSTRUÇÃO MANUTENÇÃO Análise de Sistema Análise de Requisitos Projeto Projeto Processo pelo
Leia maisSistemas Distribuídos RPC
Sistemas Distribuídos RPC Disciplina: Sistemas Distribuídos Prof.: Edmar Roberto Santana de Rezende Faculdade de Engenharia de Computação Centro de Ciências Exatas, Ambientais e de Tecnologias Pontifícia
Leia maisConceitos de Sistemas de Banco de Dados INE 5323
Conceitos de Sistemas de Banco de Dados INE 5323 Prof. Mario Dantas Introdução Por quê Sistemas de Banco de Dados Visão dos Dados Modelos de Dados Linguagem de Definição de Dados (DDL) Linguagem de Manipulação
Leia maisModelagem de Processos. Rômulo César
Modelagem de Processos Rômulo César http://romulocesar.com.br/ romulo.andrade@upe.br Professor NOME: RÔMULO CÉSAR DIAS DE ANDRADE Mini CV: Doutorando em Ciência da Computação na Universidade Federal de
Leia maisIntrodução à Computação Móvel e Ubíqua
Introdução à Computação Móvel e Ubíqua Markus Endler Sala 503 RDC endler@inf.puc-rio.br www.inf.puc-rio.br/~endler/courses/mobile Por que estudar Comp. Móvel e Ubíqua? Quantidade de disp. portáteis (smartphones/tablets)
Leia maisPROJETOS DE SISTEMAS DE INFORMAÇÃO
PROJETOS DE SISTEMAS DE INFORMAÇÃO Aula 9 - Modelagem de Processos com BPMN Prof. Fabiano Nezello, Msc :: Tipos de Notação para modelagem de processos Tipos de Modelagem Hierarquia Fluxograma Rummler-Brache
Leia maisCAP. VI ANÁLISE SEMÂNTICA
CAP. VI ANÁLISE SEMÂNTICA VI.1 Introdução Semântica SIGNIFICADO, SENTIDO LÓGICO, COERÊNCIA,... Diferença entre SINTAXE e SEMÂNTICA Sintaxe : descreve as estruturas de uma linguagem; Semântica : descreve
Leia maisUML. Diagrama de Classes
UML Diagrama de Classes Introdução A modelagem de objetos incorpora a estrutura estática de um sistema mostrando: os objetos pertencentes ao sistema os relacionamentos entre esses objetos os atributos
Leia maisProjeto de Linguagem. Linguagens de Programação
Projeto de Linguagem Renato Ferreira Linguagens de Programação Linguagens são adotadas para preencher uma demada Facilitar uma aplicação outrora difícil/impossível Independente da qualidade da linguagem
Leia maisInstituto Superior de Engenharia de Lisboa
Instituto Superior de Engenharia de Lisboa Introdução à Programação (PG) Docente: Pedro Viçoso Fazenda (pfazenda@cedet.isel.ipl.pt) Professor Responsável: Pedro Alexandre Pereira (palex@cc.isel.ipl.pt)
Leia maisAnálise Estruturada. Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.
Análise Estruturada Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso com os modelos orientados a objetos Entretanto...
Leia maisas fases contemplam todas as etapas do ciclo de desenvolvimento (requisitos, análise, projeto, implementação, teste e validação);
Título : B2 Processo de desenvolvimento de Sistemas Conteúdo : A UML estabelece uma abordagem para a construção, o desenvolvimento e a manutenção de software. Atualmente, metodologias utilizadas no desenvolvimento
Leia maisBancos de dados. Sistemas de bancos de dados. Professor Emiliano S. Monteiro
Bancos de dados Sistemas de bancos de dados Professor Emiliano S. Monteiro Introdução Apresentação do professor Apresentação da disciplina Avaliações Conceitos Banco de dados Segundo C.J. Date : "O sistema
Leia maisPROJETO DE INCLUSÃO DE DISCIPLINAS OPTATIVAS NO CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO CAMPUS CURITIBA
PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Ministério da Educação Universidade Tecnológica Federal do Paraná Campus Curitiba Curso de Bacharelado em Sistemas de Informação PROJETO DE INCLUSÃO DE DISCIPLINAS
Leia mais