Upload
internet
View
103
Download
0
Embed Size (px)
Citation preview
Parte II – Aplicações de Autonomic Computing
Seminários 2007 – 2º Semestre
Maíra Gatti
2© LES/PUC-Rio
Agenda
• Estado da Arte de AC
– Exemplo 1: Architecture-based Self-Adaptation in the Presence of Multiple Objectives
– Exemplo 2: Self Optimization using Conceptual Graphs for NASA Autonomous Systems
– Exemplo 3: Agents in a J2EE World
– Projetos de Pesquisa na Indústria
• Bibliografia
3© LES/PUC-Rio
Exemplo 1: Architecture-based Self-Adaptation in the Presence of Multiple Objectives
• Como implementar um mecanismo de AC para se auto-adaptar na presença de múltiplos objetivos?
• Propuseram uma linguagem de adaptação
– Expressiva para expertise de adaptação
– Direcionada para descrever o raciocínio das decisões humanas de adaptação de alto-nível
• Ontologia para as tarefas dos administradores de sistema
• Formalismo de teoria de utilidade (Utility Theory)
S.-W. Cheng, D. Garlan, B. Schmerl. Architecture-based Self-Adaptation in the
Presence of Multiple Objectives. SEAMS’06, May 21–22, 2006, Shanghai, China.
4© LES/PUC-Rio
Exemplo 1: Architecture-based Self-Adaptation in the Presence of Multiple Objectives
• Website de notícias Z.com
• Conteúdo de notícias gráficas
• Objetivo
– garantir serviços mesmo em horário de picos
• Ações caso o sistema esteja prestes a “voar” :)
– a) aumentar a quantidade de servidores até o máximo permitido pelos custos, ou
– b) alterar os servidores para fornecer conteúdo textual
• Quando voltar ao normal
– a) alterar os servidores para voltarem a fornecer conteúdo gráfico
– b) diminuir quantidade de servidores
S.-W. Cheng, D. Garlan, B. Schmerl. Architecture-based Self-Adaptation in the
Presence of Multiple Objectives. SEAMS’06, May 21–22, 2006, Shanghai, China.
5© LES/PUC-Rio
Exemplo 1: Architecture-based Self-Adaptation in the Presence of Multiple Objectives
• Considerações a serem levadas na hora da decisão...
– O quanto de recurso a minha ação requer?
– Quanto tempo a minha ação levaria para ser tomada?
– Qual seria o efeito da minha ação no sistema?
– Qual o rankeamento da minha ação em relação as outras?
– ...
6© LES/PUC-Rio
Exemplo 1: Architecture-based Self-Adaptation in the Presence of Multiple Objectives
• Proposta
– Operador arquitetural
• Ação que pode ser tomada
• Exemplo: matar um processo em execução
– Esquema Tático
• Condição, operadores arquiteturais e efeitos
• Resolve um problema em específico
– Estratégias
• Modelo mental de todas as ações
• Resolve um tipo de problemas de sistema
• Árvore de esquemas táticos
• A escolha da estratégia em geral envolve
– Heurísticas, tradeoffs e experiências
– Funções de Utilidade
7© LES/PUC-Rio
Exemplo 1: Architecture-based Self-Adaptation in the Presence of Multiple Objectives
Função de Utilidade
8© LES/PUC-Rio
Exemplo 2: Self Optimization using Conceptual Graphs for NASA Autonomous Systems
Autonomous Nano-Technology Swarm(ANTS)
• Auto-Otimização– Rulers aprendem sobre asteróides
– Messengers ajustam suas posições
– Workers aprendem sobre asteróides
9© LES/PUC-Rio
relações
conceitos
Exemplo 2: Self Optimization using Conceptual Graphs for NASA Autonomous Systems
• Conceptual Graph Theory (CGT)
– Representação gráfica do conhecimento e raciocínio
– Permite construção de algoritmos sobre o conhecimento
– Permite que o usuário entenda, manipule, edite e revise o conhecimento
– Facilita no aprendizado através de generalizações e especializações
10© LES/PUC-Rio
Exemplo 2: Self Optimization using Conceptual Graphs for NASA Autonomous Systems
• Ontologia
– Framewok que representa o conhecimento de um domínio,
– contendo informações de relações, classes, objetos, e atributos
– sobre instâncias e eventos em um domínio
• Grafos conceituais -> metodologia para descrever ontologias
• Ferramentas para implementar Grafos Conceituais
– CG Tool Toscana
– CharGer
– Amine
11© LES/PUC-Rio
Exemplo 2: Self Optimization using Conceptual Graphs for NASA Autonomous Systems
• Ontologias são estáticas
• Adaptação -> Atributos dinâmicos!
• Concept Type Hierarchy of CGT
– Informação parcial
– Existem técnicas de aprendizado em CGT que permitem a expansão da hierarquia
12© LES/PUC-Rio
Exemplo 2: Self Optimization using Conceptual Graphs for NASA Autonomous Systems
• Visão parcial da ontologia para a missão ANTS
13© LES/PUC-Rio
Exemplo 2: Self Optimization using Conceptual Graphs for NASA Autonomous Systems
• Desta forma, a ontologia dinâmica é capaz de:
– Derivar relacionamentos entre objetos e eventos
– Identificar padrões e tendências candidatas
– Manter todas as hipóteses possíveis
– Derivar intenções (explorar, avaliar, medir, etc.)
– Priorizar soluções
– Eliminar hipóteses não aprovadas
– Manter hipóteses parciais ou que ainda não puderam ser provadas como alternativas válidas
14© LES/PUC-Rio
Exemplo 2: Self Optimization using Conceptual Graphs for NASA Autonomous Systems
• Verificação
– Antes de operar
• Modelos formais para garantir propriedades do sistema e prover validação
– Em operação
• O modelo descrito pela ontologia precisa ser monitorado para garantir que está dentro dos limites aceitáveis e que determinadas propriedades de relacionamentos entre entidades estão mantidas
15© LES/PUC-Rio
Exemplo 2: Self Optimization using Conceptual Graphs for NASA Autonomous Systems
• SAIC: From Science to Solutions®
– www.saic.com
• Science Applications International Corporation (SAIC)
– defense modernization efforts,
– intelligence, homeland security,
– logistics and product support,
– health and life sciences,
– space and earth sciences and
– global commercial services.
D. Corbett, C. Rouff. Self Optimization using Conceptual Graphs for NASA Autonomous Systems. Proc. of the Third IEEE Int. Workshop on Eng. of Autonomic & Autonomous Systems (EASE’06).
16© LES/PUC-Rio
Exemplo 3: Agents in a J2EE World
• J2EE Application Servers
17© LES/PUC-Rio
Exemplo 3: Agents in a J2EE World
• J2EE Agent-based Application Servers
18© LES/PUC-Rio
Exemplo 3: Agents in a J2EE World
• Vantagens
– As características de agentes vão muito além das características de EJBs
• EJBs são reativos, Agentes são autônomos e pró-ativos
• EJBs tem restrições técnicas (por exemplo, não são permitidos inicializarem a sua própria thread)
• EJBs não são separados dos outros (compartilham o mesmo name space)
• EJBs não tem mobilidade
• Agentes podem resolver problemas em cooperação
S. Brantschen & T. Haas; Agents in a J2EE World. White paper, 2002, Whitestein Technologies AG.
19© LES/PUC-Rio
Projetos de Pesquisa na Indústria
• IBM – The Autonomic Computing Toolkit (ATK)
– ATK é composto de classes, bibliotecas, plugins, e ferramentas para o ambiente Eclipse
– Para dar suporte tanto para o desenvolvimento quando execução, o ATK depende de versões espeíficas da JRE
– Ex.: Agent Based Learning Environment (ABLE)
20© LES/PUC-Rio
Projetos de Pesquisa na Indústria
• SUN –N1– Virtualization
• The process of modeling all the components in the network.
– Application and service level provisioning• The process of configuring and deploying software on systems.
– Dynamic policy management• Automations of the configuration and deployment of software in the system.
• Hewlett-Packard –The Adaptive Enterprise
• Microsoft –Dynamic Systems Initiative– To deliver self-managing dynamic systems– Provide a common language, or meta-model, that is used to create models
that capture the organizational knowledge relevant to entire distributed systems.
• Intel –Proactive Computing– Focus on human-supervised operation, where the user stays out of the loop
as much as possible until required to provide guidance in critical decisions.
21© LES/PUC-Rio
Projetos de Pesquisa na Indústria
• IBM – The Autonomic Computing Toolkit (ATK)
22© LES/PUC-Rio
Projetos de Pesquisa na Indústria
• Extensões da Intel
B. Melcher et al., Towards an Autonomic Framework: Self-Configuring Network Services and Developing Autonomic Applications. Intel Technology Journal.Acessed from: http://developer.intel.com/technology/itj/index.htm
23© LES/PUC-Rio
Bibliografia
• M. Parashar, S. Hariri; Autonomic Computing: An Overview. J.-P. Banâtre et al. (Eds.): UPP 2004, Springer, LNCS 3566, pp. 247–259, 2005.
• P. Lin, A. MacArthur, J. Leaney. Defining Autonomic Computing: A Software Engineering Perspective. IEEE. Proc. of the 2005 Australian Soft. Eng. Conf. (ASWEC’05)
• S.-W. Cheng, D. Garlan, B. Schmerl. Architecture-based Self-Adaptation in the Presence of Multiple Objectives. SEAMS’06, May 21–22, 2006, Shanghai, China.
• D. Corbett, C. Rouff. Self Optimization using Conceptual Graphs for NASA Autonomous Systems. Proc. of the Third IEEE Int. Workshop on Eng. of Autonomic & Autonomous Systems (EASE’06).
• S. Brantschen & T. Haas; Agents in a J2EE World. White paper, 2002, Whitestein Technologies AG.
Parte II – Aplicações de Autonomic Computing
Seminários 2007 – 2º Semestre
Maíra Gatti