Prof.: José Eustáquio Rangel de Queiroz [email protected] [email protected] [email protected] Carga Horária: 60 horas CEEI DSC Considerações Iniciais I CEEI DSC Ciência Computacional Science) (Computational Busca pelo entendimento de processos científicos mediante o uso de métodos matemáticos em computadores Ciência da Computação {joseana, rangel}@dsc.ufcg.edu.br Ciência Computacional Ciência Matemática 2 CEEI Considerações Iniciais II DSC Problemas simulados Experimentos perigosos para investigados em um laboratórios ser Fenômenos que ocorrem muito rápida ou lentamente Experimentos de alto custo Eventos que só podem ser solucionados {joseana, rangel}@dsc.ufcg.edu.br partir de abordagens computacionais a Visualização de fenômenos temporais Experimentos do tipo ‘o que-se’ Mineração de dados em bases de dados muito extensas 3 CEEI Considerações Iniciais III DSC {joseana, rangel}@dsc.ufcg.edu.br Investigação no Computacional âmbito da Ciência 4 Considerações Iniciais IV CEEI DSC Investigação no Computacional âmbito da Ciência Aplicação {joseana, rangel}@dsc.ufcg.edu.br Problema científico de interesse e componentes de tal problema que se deseje estudar. 5 Considerações Iniciais V CEEI DSC Investigação no Computacional âmbito da Ciência Algoritmo {joseana, rangel}@dsc.ufcg.edu.br Representação numérica/matemática do problema, incluindo quaisquer métodos ou receitas numéricas empregadas para solucionar o algoritmo. 6 Considerações Iniciais VI CEEI DSC Investigação no Computacional âmbito da Ciência Arquitetura {joseana, rangel}@dsc.ufcg.edu.br Plataforma computacional e ferramenta(s) de software usadas para computar um conjunto de soluções para o algoritmo. 7 CEEI DSC Tecnologia a Serviço do Usuário I Similaridade usual da matemática de problemas estruturação Física e Engenharias {joseana, rangel}@dsc.ufcg.edu.br Formulações matemáticas Conjuntos lineares de equações Conjuntos de equações não lineares Sistemas de equações diferenciais Utilização dos mesmos métodos matemáticos para a resolução dos problemas numéricos de interesse, independentemente da área de aplicação 8 CEEI DSC Tecnologia a Serviço do Usuário II Extensa aplicação dos métodos analíticos e numéricos em nível computacional Software matemático e de modelagem/ simulação {joseana, rangel}@dsc.ufcg.edu.br Numérico e/ou simbólico 9 CEEI {joseana, rangel}@dsc.ufcg.edu.br DSC Tecnologia a Serviço do Usuário III Uso cada vez mais efetivo de sistemas computacionais em todos os níveis do conhecimento humano. Necessidade de aplicações de software que apóiem o usuário na resolução de problemas das mais diferentes naturezas. Diversidade de perfis de usuários Faixa etária Propósito de uso Experiência profissional Frequência de uso 10 CEEI DSC Tecnologia a Serviço do Usuário IV Uso de sistemas computacionais ou conhecimento de aplicações de interesse não é, per si, suficiente. Propósito-chave Suporte Processos de ensino-aprendizagem; Processos {joseana, rangel}@dsc.ufcg.edu.br reais. de resolução de problemas Geração de agentes facilitadores da aprendizagem, dentro dos objetivos estabelecidos pelo usuário 11 CEEI DSC Tecnologia a Serviço do Usuário III Premissas Eficiência Eficácia {joseana, rangel}@dsc.ufcg.edu.br Satisfação Competitividade globalizado Padrões internacionais para a construção de software International de um Organization Standardization (ISO) mercado for 12 CEEI {joseana, rangel}@dsc.ufcg.edu.br DSC Objetivos do Software Matemático Obtenção de soluções aproximadas para formulações matemáticas associadas a problemas do mundo real; Obtenção de soluções para problemas científicos mediante o emprego de métodos numéricos fundamentados em modelos matemáticos; Suporte ao usuário no processamento numérico associado a diversas aplicações, e.g., processamento digital de imagens, automação industrial, bioinformática, geoprocessamento. 13 CEEI Software Matemático Genérico DSC Aplicações standalone Planilhas eletrônicas Software para computação simbólica Software numérico {joseana, rangel}@dsc.ufcg.edu.br Pacotes estatísticos Existência de diversas ferramentas” para as categorias de programas “caixas de 3 primeiras Existência de diversas bibliotecas subrotinas para diversos propósitos de 14 Planilhas Eletrônicas I CEEI DSC Lotus 1-2-3 Primeiro programa disponível publicamente para combinar gráficos, funções de planilha e gerência de dados (http://www-1.ibm.com/software/lotus/) Grande utilização no final dos anos 1980 e início dos anos 1990 {joseana, rangel}@dsc.ufcg.edu.br Quattro Pro Programa desenvolvido originalmente pela Borland, atualmente vendido pela Corel (pacote WordPerfect Office) http://www.corel.com/) 15 Planilhas Eletrônicas II CEEI DSC Excel (pacote MS-Office) Inclusão de um programa para a otimização do ambiente para problemas de pequeno porte (solver) Instalação não automática (Tools Addins Solver Add-in) Possibilidade de inclusão de solvers de {joseana, rangel}@dsc.ufcg.edu.br problemas de otimização de grande porte Funcionamento superior ao do Solver do Excel (http://www.solver.com/) Erros específicos associados à acurácia, problemas com datas e visualização (Excel 2007) (http://office.microsoft.com/) 16 CEEI Planilhas Eletrônicas III DSC Calc (pacote OpenOffice) Comparável ao MS-Excel em vários aspectos e compatível do ponto de vista de leitura de arquivos .xls Vantagem: Software (http://www.openoffice.org/) livre {joseana, rangel}@dsc.ufcg.edu.br Existência de um otimizador (solver), porém ainda em fase de desenvolvimento (não funciona corretamente para problemas não lineares) 17 CEEI Planilhas Eletrônicas IV DSC Excel e Calc Utilidade e rapidez em aplicações simples Execução lenta de macros, visto que o código é interpretado a cada chamada {joseana, rangel}@dsc.ufcg.edu.br Necessidade de edição (forçada) de macros para cada versão do Excel (problemas residuais com VBA e/ou configurações internacionais) 18 Software para Computação Simbólica I CEEI DSC Computação Algébrica Domínio da Computação que trata da manipulação de expressões matemáticas em forma simbólica {joseana, rangel}@dsc.ufcg.edu.br Fatoração de polinômios, simplificação de funções racionais, resolução de equações, integração e diferenciação em forma simbólica, e cálculo matricial, dentre outras Grande utilidade no ensino, na pesquisa e em projetos engenharia em diferentes áreas da 19 Software para Computação Simbólica II CEEI DSC Sistema para Computação Algébrica (CAS) I que permite manipular expressões matemáticas simbólicas {joseana, rangel}@dsc.ufcg.edu.br Software Precisão aritmética arbitrária (bignum) Motor de manipulação simbólica (simplificação de expressões algébricas, diferenciação e integração de funções e resolução de equações) Facilidades gráficas (geração de gráficos de funções, em geral 2D e 3D) 20 Software para Computação Simbólica III CEEI DSC Sistema para Computação Algébrica (CAS) II que permite manipular expressões matemáticas simbólicas {joseana, rangel}@dsc.ufcg.edu.br Software Subsistema de álgebra linear (cálculo matricial e resolução de sistemas de equações lineares) Linguagem de programação de alto nível (implementação de algoritmos) Subsistema de composição (formulação de expressões matemáticas) 21 Software para Computação Simbólica IV CEEI DSC Sistema para Computação Algébrica (CAS) III Início da pesquisa em computação simbólica Desenvolvimento e comercialização do Macsyma (1968 a 1982) no MIT, como parte do Projeto MAC {joseana, rangel}@dsc.ufcg.edu.br Macsyma (Mac’s symbolic manipulator) 22 Software para Computação Simbólica V CEEI DSC Sistema para Computação Algébrica (CAS) IV {joseana, rangel}@dsc.ufcg.edu.br Macsyma (Mac’s symbolic manipulator) Escrito em Maclisp (dialeto de Lisp) para computadores PDP-6 e PDP-10 (também trabalhava nos sistemas operacionais Multics e nas Máquinas Lisp) Um dos primeiros sistemas especialistas baseado em conhecimento e um dos maiores programas (talvez o maior) escrito em Lisp de todos os tempos 23 Software para Computação Simbólica VI CEEI DSC Sistema para Computação Algébrica (CAS) V Muitas das idéias concebidas para o Macsyma são atualmente usadas em pacotes atuais {joseana, rangel}@dsc.ufcg.edu.br Maxima (baseado na versão de 1982 do DOE) Reduce Maple Mathematica MuMATH SAGE http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems 24 CEEI Software Numérico I DSC Grande parte dos pacotes de software numérico também executa computação simbólica e possui funcionalidades gráficas (pelo menos em algum nível) Programas incluem uma extensa coleção de funções {joseana, rangel}@dsc.ufcg.edu.br Resolução de equações Processamento matricial numérico Integração e diferenciação numérica Interpolação e ajuste de curvas http://en.wikipedia.org/wiki/List_of_numerical_analysis_software 25 Software Numérico II CEEI DSC Programas integrados em arquivos denominadas ferramentas (toolboxes) coleções caixas de de Rotinas e funções destinadas a propósitos específicos {joseana, rangel}@dsc.ufcg.edu.br Processamento de Sinais Mecânica Estrutural Processamento de Imagens Matemática Fuzzy Transformadas Wavelet Redes Neurais … 26 Software Numérico III CEEI DSC Ambientes proprietários simulação/análise numérica para Comsol Multiphysics (incluindo a versão especial Comsol Reaction Engineering Lab para a modelagem de reações cinéticas) Maple Mathematica (incluindo webMathematica e {joseana, rangel}@dsc.ufcg.edu.br gridMathematica) Mathcad MATLAB (incluindo Simulink e Model-Based Design) 27 CEEI Software Numérico IV DSC Ambientes abertos para simulação/análise numérica GNU Octave (incluindo GNU Plot) Maxima (incluindo wxMaxima ou XMaxima e GNU Plot) {joseana, rangel}@dsc.ufcg.edu.br Scilab (incluindo Scicos) http://www.modelica.org/libraries http://www.ann.jussieu.fr/~lehyaric/freesoft/free.htm 28 Bibliotecas de Rotinas e Funções I CEEI DSC Disponibilidade de um número considerável de bibliotecas de rotinas/funções matemáticas proprietárias e livres Facilidade de chamada de rotinas/funções a partir da aplicação principal se esta compartilhar a linguagem de programação (LP) com a biblioteca {joseana, rangel}@dsc.ufcg.edu.br Possibilidade de hibridação de LP Exigência de maior atenção na estruturação da aplicação Necessidade de tarefas adicionais para o interfaceamento das diferentes partes do programa 29 CEEI DSC Bibliotecas de Rotinas e Funções II Repositórios e Portais Informativos Netlib NHSE Fortran 90 Software Repository NIST {joseana, rangel}@dsc.ufcg.edu.br Mathtools.net http://www.sai.msu.su/sal/B/1/ 30 CEEI DSC Bibliotecas de Rotinas e Funções III Disponibilidade do código fonte da maioria das bibliotecas Netlib Portabilidade {joseana, rangel}@dsc.ufcg.edu.br aplicação compiladores relativamente fácil da para outros SO e/ou Maioria da bibliotecas de subrotinas em Fortran, com algumas (re)escritas nas linguagens C/C++ Maioria da bibliotecas mais recentes de funções em C++ 31 Qualidade do Software Numérico I CEEI DSC Mensuração numérico da qualidade do software Métricas de Qualidade Confiabilidade O Desempenho {joseana, rangel}@dsc.ufcg.edu.br O software produz resultados confiáveis? tempo de processamento é aceitável? Tolerância a falhas O software é suficientemente robusto para resistir ao uso por um usuário inexperiente? http://math.nist.gov/stssf/ 32 Qualidade do Software Numérico II CEEI DSC Interface com o Usuário (UI) Gráfica, orientada a comandos, orientada a {joseana, rangel}@dsc.ufcg.edu.br menus ou via chamadas a subrotinas Exigência do delineamento preciso percepção do usuário da capacidade software numérico Usabilidade da do Eficiência Recursos despendidos em relação à acurácia e completude com que usuários atingem metas específicas Eficácia Acurácia e completude com que usuários atingem metas específicas Grau de Satisfação (Subjetiva) Conforto e aceitação de uso do produto pelos usuários 33 Qualidade do Software Numérico III CEEI DSC “Gargalos” comuns Interfaces com o usuário para software numérico tipicamente baseiam-se na compreensão do processo de funcionamento do software pelo projetista Não envolvimento do usuário no processo de desenvolvimento {joseana, rangel}@dsc.ufcg.edu.br UCD requer organização e esforço extras do projetista Graus de usabilidade mais elevados Redução dos custos de software com reprojetos e refatorações que possam ser evitadas 34 CEEI Leitura Adicional {joseana, rangel}@dsc.ufcg.edu.br DSC Bussieck, M. R.; Dirkse, S. P., Meeraus A.; Pruessner, A. (2004) Software Quality Assurance for Mathematical Modeling Systems Pancake, C. M. (1996) Improving the Usability Numerical Software through User-Centered Design Houstis, E. N., & Rice, J. R. (2000) On the Future of Problem Solving Environments of 35 José Eustáquio Rangel de Queiroz [email protected] [email protected] [email protected] UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO CEEI DSC 36