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

Upload: victoria-gabeira-pinhal

Post on 07-Apr-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

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