Análise da Melhor Tecnologia para a Implementação de um Editor
Transcrição
Análise da Melhor Tecnologia para a Implementação de um Editor
Análise da Melhor Tecnologia para a Implementação de um Editor Diagramático Avançado Pedro Portilha Braga, Departamento de Informática Universidade do Minho, Portugal [email protected] Abstract. Keywords: Diagramas, Sinópticos, SCADA, Editor 1 Introdução A automatização dos sistemas de planeamento e gestão das grandes infra-estruturas do país são necessárias a fim de evitar erros humanos e diminuir o seu ciclo de desenvolvimento. Neste contexto surge na necessidade de modernização de um editor de sinópticos já existente na empresa EFACEC, a oportunidade do desenvolvimento de um editor de desenho para sinópticos de grandes dimensões e com funcionalidades mais actuais e poderosas. Computed Aided Design (CAD) ou desenho auxiliado por computador, é uma tecnologia utilizada cada vez mais por engenheiros, designers, arquitectos e muitos outros profissionais para facilitar o processo de desenho. Esta tecnologia tornou-se especialmente importante devido a proporcionar grandes benefícios como diminuir os custos de desenvolvimento do produto e encurtar grandemente o ciclo de desenho. CAD possibilita aos seus utilizadores a criação de projectos no ecrã, a sua impressão, exportação e entre muitas outras possibilidades a capacidade de guardar para futuras edições poupando tempo com os seus desenhos. 1.1 Motivação e Objectivos Os objectivos esperados com este projecto são a minimização dos recursos gastos na concretização do projecto, sendo estes tanto financeiros como temporais, bem como conseguir incorporar no produto uma tecnologia ou Framework que traga mais benefícios e funcionalidades ao utilizador final. 1.2 Estrutura do Artigo Irei começar por descrever o problema aqui em questão 2 Descrição do Problema Os requisitos do componente são de extrema importância e foram devidamente documentados no inicio do projecto a fim de levar uma concretização que corresponde se as necessidades actuais e futuras. A aplicação fundamental deste componente será a edição interactiva WYSIWYG de diagramas sinópticos de instalação para aplicação aos seguintes domínios: Subestações de Distribuição (SED), Subestações de Transporte (SET), Subestações de Tracção e Catenárias (SEF), Pequenas Redes de Distribuição Integradas (RD), Centrais Eólicas (CE), Centrais Hídricas (CH) e instalações afins. Os mecanismos, padrões e metáforas de edição são próximos dos disponibilizados pelas aplicações de desenho vectorial existentes no mercado. O modelo gráfico e o editor não limitam estruturalmente o número máximo de elementos gráficos presentes de qualquer tipo e em qualquer âmbito (desde o número de páginas ou símbolos até ao número de elementos primitivos ou elementos de interactividade). Perfis de Utilizadores: Engenheiro de automação capaz de conceber e configurar sistemas de automação nos quais a componente de visualização gráfica (HMIs de instalação) também se insere. Desenhador de Sinópticos, técnico com competências de desenho gráfico capaz de utilizar ferramentas de ilustração gráfica e elaborar diagramas sinópticos. 2.1 Sinópticos Sinópticos são diagramas que representam ambientes SCADA, isto é, sistemas reais que oferecem um HMI (Human – Machine Interface) de modo a suportar acções dos seus utilizadores, como alternar variáveis, verificar estados. Fig. 1. Barragem do Alqueva (fonte: Importador de SCATEX) 2.2 SCADA SCADA é o acrónimo para Sistemas de Supervisão e Aquisição de Dados, (proveniente do seu nome em inglês Supervisory Control and Data Aquisition) são sistemas que utilizam software para monitorar e supervisionar as variáveis e os dispositivos de sistemas de controlo conectados através de dispositivos específicos. Estes sistemas podem assumir topologia monoposto, cliente/servidor ou múltiplos servidores/clientes. Actualmente tendem a libertar-se de protocolos de comunicação proprietários, como os dispositivos PACs (Controladores Programáveis para Automação), módulos de entradas/saídas remotas, controladores programáveis (CLPs), registradores , entre outros, para arquitecturas cliente-servidor OPC (OLE for Process Control). Para os próximos anos, a tendência dos sistemas de supervisão será a supervisão remota, usando sistemas de telemetria através de tecnologias sem fios, como telemóveis, rádio ou satélite. Através destas tecnologias, os sistemas SCADA terão a capacidade de controlar processos industriais numa planta de trabalho local, ou etnologicamente espalhada. Aplicações de logística e controle de frotas são um bom exemplo prático, assim como controle de distribuição de serviços públicos, como água, esgotos, gás ou energia. SCADA indica precisamente um sistema com cobertura geográfica, em alternativa a topologia DCS (Distributed Control System) que actua no mesmo campo, mas com características locais. A diferença é importante, porque no SCADA implica na gestão dos protocolos de transmissão típicos de uma rede WAN (WAN) e com dados temporais mais complexos. Como exemplo podemos comentar que o sistema de controlo e supervisão de uma rede eléctrica é tipicamente um SCADA, um sistema do mesmo tipo dedicado a uma refinaria é um DCS. (Adaptado de [Wikipedia08]) 2.3 Alternativas Tecnológicas Foi seleccionado um conjunto de tecnologias para análise Algumas das tecnologias nesta lista foram incluídas como o propósito de estudo de boas maneiras de edição de diagramas, como o OpenOffice, que não pode ser integrado no Automation Studio. • • • • • • • • • • • Essential Diagram: www.syncfusion.com Ilog Diagram for. Net: www.ilog.com Nevron Diagram for .Net: www.nevron.com Aurora XAML Editor: www.mobiform.com/products/Aurora/aurora.htm Expression Studio 2: www.microsoft.com/expression/ Microsoft Visio Studio 2007: office.microsoft.com/visio Inkscape: www.inkscape.org Netron: www.orbifold.net/default/?page_id=1272 GraphSquare: www.orbifold.net/default/?page_id=1315 OpenOffice Impress: www.openoffice.org OpenOffice Draw: www.openoffice.org 2.3.1 Implementação de uma solução de Raiz Para um maior entendimento do custo e das características que o desenvolvimento de um projecto especialidade. A solução do problema pode advir de várias vertentes, seja de uma integração de uma framework já existe no mercado ou do desenvolvimento de uma solução “de raiz”. Fig. 2. Protótipo até a data 2.2.1 Windows Presentation Framework (WPF) Numa anterior análise realizada a uns anos com o mesmo objectivo deste projecto ([AdrianoMeira07]), esta tecnologia é referida como umas das tecnologias mais enquadradas nas necessidades do projecto de implementação do Editor de Sinópticos. WPF, ou anteriormente conhecida como Avalon, é o sistema gráfico da framework .Net 3.0 formalmente conhecida por WinFX. // Falta de documentação 3 Parâmetros de Avaliação Neste capítulo vamos falar das características que foram definidas importantes, ao mesmo essenciais para a análise do custo da adopção das diferentes alternativas. A fim da quantificação e de uma melhor análise de um motor de edição diagramática foram observados e registados vários valores de forma 3.1 Características funcionais • • • • • • Edição Propriedades Gráficas Primitivas básicas (Figuras Geométricas e Polilinhas) Widgets (Botões, Imagens, ComboBoxs…) Texto e Manipulação Inplace Simbologia (Possibilidade de incorporar outros símbolos) Animações Real Time (Eventos e Animações) • • • • • • • • • • • • • • • • • • Layers Zoom / Pan Undo / Redo Grelha Transformações (Rotação, Skew …) Painel Ferramentas Salvar para ficheiro Impressão Importação (SVG, Sino,..) Exportação (SVG, Bitmap) Régua (Para expansão futura) Master Pages (Para expansão futura) Conectividade Routing Linguagem de Codificação Licença Flexibilidade de Utilização (Possibilidade de alterar/optimizar o código fonte) Preço 3.2 Desempenho / Escalabilidade Considera-se como páginas sinópticas de dimensão elevada aquelas que apresentam cerca de: • 20 Camadas • • 4.000 Primitivas 1500 Animações * Considera-se como páginas sinópticas de dimensão mais frequente aquelas que apresentam cerca de: • 6 Camadas • • 2.000 Primitivas 600 Animações * Considera-se como páginas sinópticas de dimensão reduzida aquelas que apresentam cerca de: • 2 Camadas • • 150 Primitivas 50 Animações * * Considera planificação de símbolos e agrupamentos e inclui figuras de todas as tipologias (primitivas, grupos, etc.) Custo de licenças mais o esforço de desenvolvimento/integração necessário para o produto final Expansibilidade Master Pages, Régua, Conectividade e Routing de Ligações. Gostava de ver no relatório de avaliação uma real matriz/tabela em que cada linha identifica o parâmetro/critério em avaliação, em cada coluna uma alternativa tecnológica e, naturalmente, nas células o resultado da avaliação realizada. Assim a análise é mais evidente. - Quanto ao desempenho não esquecer avaliar a edição de um ou n objectos em simultâneo para as várias acções de edição identificadas (selection, move, resize, prop edit, etc.). - Quanto à transformação pensar na geração de SVG, importação de formato sino e importação de um formato vectorial existente no mercado, esses serão os targets mais importantes. 4 Comparação e Resultados Neste capítulo vamos mostrar os resultados obtidos nas diferentes características observadas nas diferentes características apresentadas no capítulo anterior. Características da Máquina de Testes: Sistema Operativo: Microsoft Windows Vista Bussiness Processador: Mobile DualCore Intel Core 2 Duo T5500, 1666 MHz (10 x 167) Memoria Principal: 2048 MB Processador Gráfico: nVIDIA GeForce Go 7400 (HP) 4.1 Características funcionais Ex Esse Ilog Nevr Aur pressi ntial Diagra on ora Visi on Diagra m for Diagram XAML o 2007 Blend m .NET for .Net Editor 2 + + + + + + O O N G Inks O O etro raph cape Dra Imp n 2 w ress + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + SVG - XA ML Bitm ap SVG, Bitmap ? XA ML + DW SV G, G, SVG, XAML Bitma , p Bitmap DW G, SV SVG, G, Bitma Bitmap p + + ? ? + + + + + - + - - + + + - + + + + - + + + + C#, C#, C#, WinFor WinFor WPF ms ms C#, WPF Lice nciame nto WP F C+ + Pro Pro prietár prietári ia a Sou rce Code / Binary Clos e Source Close Source Syn cFusio n Ilog Nevr on C C C C # #, C++ ++, ++ . ,GD WP Java Java I+ F F ree S S Clo O O Clo Ope ourc ourc se pen pen se n e e Sourc Sou Sou Source Source Cod Cod e rce rce e e 0 0 0 Aur ora 4.2 Desempenho e Escalabilidade 5 Conclusões Para concluir, a implementação de raiz de um editor gráfico que cumprisse todos os requisitos beneficiaria muito com a implementação de raiz com a tecnologia Windows Presentation Foundation. 6. Reconhecimentos Eu gostaria de agradecer…lol Bibliografia 1. [Wikipedia08] Vários autores - SCADA, Wikipedia, the free encyclopedia, Wikimedia Foundation, Janeiro 2008. (http://pt.wikipedia.org/wiki/SCADA) 2. [AdrianoMeira07] Adriano Meira - Automation Studio Designer – Editor Gráfico , EFACEC, Agosto 2007 3. [RogérioPaulo08a] Rogério Paulo – Inpact, Requisitos e Especificações Técnicas para Editor de Sinópticos, Outubro de 2008 4. Anexo: Gráficos da comparação