Programação Visual Sistemas de Visualização Maria Alice G. V. Ferreira Maio de 2003.
-
Upload
victoria-gabeira-pinhal -
Category
Documents
-
view
212 -
download
0
Transcript of 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
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