Upload
victoria-gabeira-pinhal
View
212
Download
0
Embed Size (px)
Citation preview
Programação VisualSistemas de Visualização
Maria Alice G. V. FerreiraMaio 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:
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
Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS
4
Exemplo: AVS – Modelagem de Ventos
Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS
5
Exemplo: AVS – visualização de dados tridimensional
Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS
6
Exemplo: AVS – figuras tridimensionais
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
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
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.
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
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
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.
Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS
13
Exemplo de Algoritmo em Cantata
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.
Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS
15
Conexões de Controle
controlconnection
• Permitem controlar a passagem dos “dados”pelos blocos
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.
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
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
Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS
19
Glyph de iteração – contagem repetitiva
Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS
20
Procedimentos
Procedimentos podem ser aninhadosProcedimentos podem ser armazenados para reuso
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
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)
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
Maria Alice G. V. Ferreira - PCS5715- EP-USP-PCS
24
Interfaces AVS
Tradicionais
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