Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

25
Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003

Transcript of Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Page 1: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Programação VisualSistemas de Visualização

Maria Alice G. V. FerreiraMaio de 2003

Page 2: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

2

Visualização

• Programação Visual (VP em inglês) é qualquer sistema que permite ao usuário especificar um programa em duas ou mais dimensões. Inclui linguagens de programação gráficas e diagramas de blocos convencionais

• Visualização de Programas (PV em inglês) - é a visualização de quaiquer aspecto (estático ou dinâmico) de um programa através de expressão gráfica:

Page 3: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

3

Sistemas de Visualização• Software destinado a realizar a visualização de

objetos ou fenômenos complexos. Estes sistemas permitem a criação de aplicações científicas ou técnicas, cujo objetivo principal é obtido através de visualização de algum tipo; exemplos são das áreas geoespacial, médica, etc. As visualizações, geralmente, estão conjugadas com animação.– AVS– Khoros

Page 4: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

4

Exemplo: AVS – Modelagem de Ventos

Page 5: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

5

Exemplo: AVS – visualização de dados tridimensional

Page 6: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

6

Exemplo: AVS – figuras tridimensionais

Page 7: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

7

Programação visual

• Programa é descrito através de grafos dirigidos– nós - representam operadores ou funções– arcos - representam os “caminhos” através

dos quais passam os dados• Exemplo: Cantata

Page 8: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

8

Por que usar programação visual?

• Similaridade com diagramas de blocos, que já são conhecidos dos usuários e desenvolvedores

• Aumento de produtividade• Universalidade o ícone tem sempre o mesmo sentido,

em qualquer linguagem, tornando a linguagem visual universal (não totalmente correto)

• Imagens guardam similaridade conceitual com os objetos que representam e seu reconhecimento pelo ser humano é mais fácil do que o reconhecimento de texto / o significado pode ser aprendido

Page 9: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

9

Khoros

• Khoros é um ambiente integrado de desenvolvimento para análise, processamento e visualização, com um amplo ferramental destinado a estas tarefas, idealizado pela Universidade do Novo México e, atualmente, comercializado pela Khoral Research Inc.

• A interface de Khoros é uma linguagem visual denominada Cantata.

Page 10: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

10

Ambiente de Desenvolvimento do Khoros

Cantata

Craftsman Composer GUISE

Data Services

Foundation Services GUI / Visualization Services

Visual Programming Environment

SoftwareDevelopment Environment

Application Toolboxes

Programming Services

DATAMANIP ENVISION IMAGE GEOMETRY MATRIX

UNIX / Windows NT X Windows

Page 11: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

11

Khoros Supports the Entire Software Development Cycle

Visual Programming•Plug-and-play approach to algorithm development

•Connect algorithmic components as an intuitive block diagram

•R&D algorithms can be deployed at the touch of a button

Software Development Environment•Manage toolboxes containing software objects

•Interactive GUI editing

•Create new algorithmic components in a well-structured framework

Software Systems Integration•Easily integrate new code with legacy code

•Manage large systems as toolboxes of simple components

•Maintenance is simple! Just update a workspace and deploy

AlgorithmMaintenance

AlgorithmEvaluation

AlgorithmDevelopment

AlgorithmDeployment

Page 12: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

12

Cantata• O algoritmo é desenvolvido sobre o

workspace, através da colocação de glyphs sobre ele.

• Workspace – similar aos formulários do VB ou da Web

• Glyphs - ícones que representam “operadores”. • Os operadores são programas do sistema e

podem ser conectados como nós do grafo. As arestas do grafo indicam caminhos que os fluxos de resultados podem percorrer. Os operadores são conectados entre si, conforme o processamento pretendido.

Page 13: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

13

Exemplo de Algoritmo em Cantata

Page 14: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

14

Programação Dataflow

• A saída de um glyph pode ser alimentada como entrada de um outro glyph

• As conexões de dados impõem uma ordem de execução entre os blocos

• Dataflow - forma de programação, onde os dados fluem de um bloco para outro, forçando a execução do bloco onde chegam.

• A ordem de execução pode ser controlada também por conexões de controle.

Page 15: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

15

Conexões de Controle

controlconnection

• Permitem controlar a passagem dos “dados”pelos blocos

Page 16: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

16

Estrutura dos glyphs

• Os glyphs podem ser per-sonalizados através de painéis denominados panes.

• A figura ao lado mostra uma interface Cantata, onde um dos glyphs tem o seu pane exposto. Nele podem ser indicadas as imagens a serem “soma-das” pelo bloco de adição, cuja saída será exibida no vídeo.

Page 17: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

17

• Os glyphs podem indicar estruturas de controle: blocos if-then-else, repetitivos, chaves, merge, expressões etc.

Estrutura dos glyphs

Page 18: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

18

• Controles condicionais:– Merge– If-then-else– Switch– Trigger – só execu-

ta quando chega-rem dados de outro bloco.

• Outros:– Clipping– Threshing

Estrutura dos glyphs

Page 19: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

19

Glyph de iteração – contagem repetitiva

Page 20: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

20

Procedimentos

Procedimentos podem ser aninhadosProcedimentos podem ser armazenados para reuso

Page 21: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

21

Expressões

• podem ser usadas como argumentos dos “glyphs”• são exigidas por estruturas de controle• expressões - contêm:

– operadores aritméticos e lógicos (de relação, lógicos, shifts)– constantes pré-definidas : pi, e, sqrt(2), ln 10, maxint, etc– funções : sin, cos, tan, sqrt, bessel, impulso, degrau, gama,

etc– v = expressão

Page 22: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

22

Criação de Glyphs• via menu Toolbox - permite criar um ícone de acordo com o

critério de categoria/subcategoria/nome do operador– Data Visualization and Exploration– Data Manipulation– Image Processing– Linear Algebra– Geometry visualization and rendering– Streaming Data Manipuation– M-File (MATLAB) support

• através da lista de aceleração de rotinas (Accelerated routine list)• através da lista de busca de rotinas (Accelerated glyph finder

list)

Page 23: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

23

Distributed Computing Allows you to specify which machine you want each glyph to run on

Take advantage of a heterogeneous computing environment

Computação distribuída

Page 24: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

24

Interfaces AVS

Tradicionais

Page 25: Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.

Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS

25

Referências bibliográficas

• Documentos do Khoros:http://www.khoral.com

• Documentos do AVS:http://www.avs.com