24
Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

Embed Size (px)

Citation preview

Page 1: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

Parte II – Aplicações de Autonomic Computing

Seminários 2007 – 2º Semestre

Maíra Gatti

Page 2: 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

Page 3: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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.

Page 4: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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.

Page 5: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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?

– ...

Page 6: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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

Page 7: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

7© LES/PUC-Rio

Exemplo 1: Architecture-based Self-Adaptation in the Presence of Multiple Objectives

Função de Utilidade

Page 8: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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

Page 9: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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

Page 10: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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

Page 11: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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

Page 12: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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

Page 13: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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

Page 14: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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

Page 15: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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).

Page 16: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

16© LES/PUC-Rio

Exemplo 3: Agents in a J2EE World

• J2EE Application Servers

Page 17: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

17© LES/PUC-Rio

Exemplo 3: Agents in a J2EE World

• J2EE Agent-based Application Servers

Page 18: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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.

Page 19: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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)

Page 20: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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.

Page 21: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

21© LES/PUC-Rio

Projetos de Pesquisa na Indústria

• IBM – The Autonomic Computing Toolkit (ATK)

Page 22: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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

Page 23: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

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.

Page 24: Parte II – Aplicações de Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti

Parte II – Aplicações de Autonomic Computing

Seminários 2007 – 2º Semestre

Maíra Gatti