• Nenhum resultado encontrado

incremento do numero de atributos em fun<;ao do nivel de

As classes-base com prefixo FAPP, apresentadas no capitulo 4, descrevem os atributos comuns aos elementos que compoem 0 hardware,

permitindo 0 incremento do numero de atributos em fun&lt;;ao do nivel de

especializagao de suas subclasses. Esses atributos sac comuns a todas os elementos que comp6em uma arquitetura. Assim, descreveu-se um conjunto de objetos basicos instanciados das classes FAPP para ilustrar a interface para esses componentes. 0 exemplo de aplicagao apresentado no capitulo 6 ilustra algumas especializagoes para a ferramenta.

EPts ~ t.!cPa Es~ ~

Processedor Memcris ~ SoltMveOpet MeclnIef CJCCN.i2 PvUUb MPUl FABRICAHTE Intel Cyrix IBM FANlUA 80486 80486 80486 PAl.AVRA 88x1 88xl 88xl

Cada item do menu principal e composto por sub-itens que geram eventos (mensagens para os objetos da janela c1iente) que sac capturados pelo sistema operacional e passados para a janela cliente atraves da janela da aplicagao (definida para 0 sistema), conforme ilustra a Figura 5.5.

o

tratamento desses eventos implica na criagao de janelas especificas para cada tipo de componente, conforme ilustram as janelas

FAPPIGProcessador e FAPPIGMemoria. As letras IG informam que as classes FAPPIGMemoria e FAPPIGProcessador sac as respectivas interfaces para objetos instanciados a partir da classe FAPPMemoria e FAPPProcessador.

I

Usuarios Janela da Aplicac;ao Mensagem para 0objeto Janela cliente

I

E~ C6digo do Evento Sistema Operacional

Cada uma das linhas das tabelas e uma tupla2 na qual os usuarios podem efetuar alterac;6es, atraves da edic;ao dos atributos, ou utilizar para a elaborac;ao de novas componentes, conforme ilustra a Figura 5.6.

Ao comparar-se as janelas FAPPIGMemoria e FAPPIGProcessador da Figuras 5.4, pode-se observar a uniformidade da interface, fazendo com que a usuario aprenda a utilizar esses componentes com facilidade.

Excetuando-se 0 item "edit" do menu principal, os demais elementos estao dispostos ordenadamente da esquerda para a direita. Essa disposic;ao tem por finalidade induzir a uma sequencia 16gica de passos para a gerac;ao de aplicac;6es, conforme 0 exemplo que e apresentado no capitulo 6.

Apesar da adoc;ao de uma interface grafica para a FAPP ser altamente recomendavel, em func;ao dos beneffcios que ista pade trazer, ela

Tipos de Processadores da Familia TaOO

1800

A interface baseada em menus, apresentada no item 5.2,

e

suficiente para a validagao da proposta e, mesmo nao sendo tao amigavel, oferece ao usuario condigoes para descrever e manipular os elementos que compoem o seu software.

A implementagao de uma interface grafica, conforme sugerida a seguir, requer um volume de trabalho de programac;ao consideravel, devendo ser elaborada em trabalhos futuros.

A analise dos elementos que compoem os grafos permite que a cada um deles esteja associada um forma grafica. Assim, apresentar na tela do computador os grafos ou dfgrafos nao

e

tarefa complicada. Adotando-se a classe ilustrada na Figura 5.7 como base para as classes GRFNo, GRFArco, GRFSuperNo, GRFSuperArco, as classe derivadas tem que sobrescrever os metodos que das aos objetos da classe uma determinada forma. Entretanto, ha necessidade de que os elementos que comp6em essa interface possuam significados especfficos. Isso demanda um projeto

m inucioso dos com ponentes e das suas representac;6es. Por exem plo, elem entos processadores que diferem apenas pela quantidade de m em oria

local, devem possuir algum a diferenciac;ao visual que inform e essa

diferenc;a para 0 usuario.

A classe FG Ponto apenas define as caracterfsticas de um ponto na tela. A Classe FG Pontos define um par de pontos e os objetos de desenho

que podem ser utilizados para descrever a form a e 0 preenchim ento da

figura, essas caracterfsticas sac im prescindfveis para a program ac;ao em

am biente W indows, pois definem 0 contexte do dispositivo de safda grafica.

o

m etoda f o r m a e virtual puro, perm itindo que as subclasses da

classe FG Pontos definam form as geom etricas variadas, que podem ser trac;adas uti Iizando-se um par de pontos.

o

am biente de desenvolvim ento IO E3,versao 4.52, possui as classes

TPoint, TO C, que possuem essas caracterfsticas. A classe TO C utiliza 0

contexto de dispositivo e encapsula diversos m etodos que im plem entam form as geom etricas.

.--- _---_ _-- ... : Atributos . FGPonto: pI FGPonto: p2 Pineel: pi Caneta: ea : Metodos forma Atributos Cor Tamanho Abscissa Ordenada

Figura 5.7 - Classe base para form as baseadas em um par de pontos.

SEHVICO DE BIBLIOTECA •• INFORM .'),CAo

A estrutura de classes, apresentada na Figura 5.8, foi utilizada para implementar um prot6tipo de um editor grafico, com a finalidade de explorar as dificuldades que eventualmente poderiam ocorrer ao utilizar-se a ferramenta com uma interface grafica.

F APPI GReta forma F APPIGElispe forma F APPIGRctanguio forma F APPIGRotulo forma FAPPIGElispcDupia forma FAPPIGRetanguio forma

Figura 5.8 - Estrutura das classes para gerar elementos de desenho.

A classe TStreamableBase encapsula a sistema de gerenciamento de arquivos, permitindo que as objetos sejam armazenados em cadeias nao formatadas ("streams"). Assim, as elementos desenhados na tela podem ser armazenados e recuperados de arquivos. A classe FAPPIGGrafica e a base para todos as objetos de desenho. Cada uma das suas FAPPIGReta, FAPPIGElipse e FAPPIGRetanguio apenas definem as respectivas formas que devem ser apresentadas na tela.

A classe FAPPIGRotulo permite criar r6tulos au legend as para as figuras. As figuras rotuladas sao criadas atraves do mecanismo de heranc;a multipla. A Figura 1.8 ilustra apenas como criar um retangulo rotulado, entretanto, a criar dos demais componentes e analoga.

A definigao dos objetos de desenho nao

e

suficiente para a utilizagao do sistema,

e

necessaria que sejam criadas as classes que estabelecem a interface entre a sistema e a usuario. A Figura 1.9 ilustra a estrutura hierarquica para as objetos de interface que constroem as figura solicitadas pelos usuarios.

A classe TClienteDC

e

base para quaisquer classes que utilizem algum contexto de dispositivo. A classe FAPPConstDC especializa as caracterfsticas da classe Tclient para a contexto a aplicagao FAPP.

A classe FAPPIGConstrutor encapsula as caracterfsticas dos contextos dos dispositivos, permitindo que cada construtor utilize a seu proprio conjunto de ferramentas de desenho, definidos pelas classes FAPPConstReta, FAPPConstElipse, FAPPConstRetangulo.

A classe TDialog cria objetos de dialogo na forma de caixas de texto, que devem ser especializadas de acordo com a dialogo que se pretende estabelecer com 0 usuario do sistema. Assim, a classe FAPPDialRotulo define como deve ser a dialogo entre a usuario e a sistema para que seja definido a rotulo do objeto de desenho.

A classe FAPPCRentanguloRot e um exemplo de derivagao multipla com qual criam-se objetos de desenho retangulares e rotulados. Os demais objetos de desenho seguem 0 mesmo padrao.

5.4 Considera.;oes Finais

Interfaces baseadas em menus podem ser alteradas com facilidade, pois nao requerem alteragoes dos eventos gerados, mais sim do tratamento a eles aplicados. Para substituir uma janela da aplicagao basta criar a classe que estabelece a interface e substituir 0 objeto que recebe a mensagem (ou evento) pelo novo objeto instanciado da nova c1asse.

Interfaces graficas sac matS amigaveis e dao ao ambiente mais elegancia, porem sac inevitavelmente mais especificas, pois deve-se criar um objeto de interface diferente para cada tipo de componente. Como a variedade de elementos e grande e evolutiva em fungao da tecnologia disponivel (novos processadores, novas interligagoes, novas linguagens, dentre outros) a interface grafica deixa, eventual mente, de atender as expectativas dos usuarios.

A inconveniencia do modele descrito no item 5.3 e que nao estao previstos mapas de bits. Contudo, essa estrutura permitiu 0 dominio das necessidades relativas ao projeto e implementagao de interfaces graficas e pode ser utilizada como diretriz para a confecgao de uma interface mais sofisticada para a ferramenta.

Este capftulo apresenta um prot6tipo para a ferramenta FAPP em um ambiente de programac;ao paralela. Os passos apresentados neste exemplo devem ser repetidos para instancia-Ia para outros ambientes.

Nessa abordagem os m6dulos dos programas e os parametros formais compoem 0 esqueleto da aplicac;ao. Os m6dulos sac definidos pelo programador atraves da interface da ferramenta.

Procedimentos e func;oes que executam concorrentemente, utilizam um determinado conjunto de headers1, que necessitam ser gerados

independentemente para cada conjunto de processos que compoem uma tarefa e que serao executados em paralelo.

A utilizac;ao da ferramenta e efetuada atraves das fases seguintes: • Definic;ao dos componentes do hardware. 0 hardware e composto

por elementos processadores que sac utilizados para definir as arquiteturas. Uma arquitetura

e

composta por diversos elementos processadores e a interligac;ao desses elementos processadores define 0 modele arquitetural do hardware no qual a aplicac;ao e

mapeada. 0 item 6.2 descreve esses detalhes utilizando uma arquitetura paralela baseada em Transputers (Trindade; et al. (1992)).

• Definic;ao dos componentes do software. A definic;ao da linguagem e necessaria para que sejam gerados os modelos dos comandos,

1Headers - cabec;:alhos de subprogramas utilizados para a definic;:iiode constantes. variaveis e

que definem 0 nivel de abstrag80 para a descrig80 dos programas.