aesp: um assistente de especificação · pdf filelaz la3 ..... la, nlvel de...

14
AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO Massruhá, Silvia M.F.S. RESUMO: e-mail: [email protected].br Ferraretto, Mário D. (•) Miximo, Fernando A. Meira, Carlos A. A. Pusos, Sérgio L. Z. Visoli, Marcos C. Centro Nacional de Pesquisa Tecnológica em Wormática Agricultura - CNPTIAIEMBRAP A (•) Uruversidade de Slo Paulo - USP Este trobDIIIo IUIIQ jii'TGIMnla, denomiiUidtl A.Esp, qu• visa aux/1/IJI' a çaplllra das das do domlnio admin/slraç40 f"'lroi t transform4-las. incrtmtntalmentt, 1m IUIIQ rtpnsentaçllo (/III J'(Hk ser troduJdo para um progrtJJNJ operocional. Esta I parti do antbi1nt1 FMS ('F- Manogtment Systtm") qut tsl4 sendo dtstnvolvido para a EMBRAPA. O FMS; um ambitntt para a gtroç4o automatllDdo de aplicativos do domlnio admlnistraç4o t"'lfal. Palavrtu.CIIav1s: asslsttnt1 de csptcif/COf40, an41íst dt dom ln/o, gerador dt apllcaç4o, rtuSO. AIJSTRACT : T1rls dtsaib1s a too/, calltd A.Esp, for cap111ring Informal sptcif/cations of farm managtmtnt domain appllcations and incrtmentally transforms tlttm into a rtpnstntatlon lhaJ can b1 translattd into an operationa/ program. T1ris too/Is part of tltt FMS (Farm Managtmtnl Systtm), a prototypt softw/JI't 1nginttring 1nvironment for EMBRAPA, almtd at automatlc gtntraJ/on of 1111all farm managtmtnt appllcatlons. Ktywords: sptcijicatlon asslstant, domaln analysis. applicatíon gtntrator, rtust. 1) INTRODUÇÃO O FMS é um ambiente de software para a geraçio automatizada de aplicativos do domínio de administraçio rural. A abordagem utilizada pelo FMS prevê que durante a fase de especificaçlo as informações de uma aplicaçlo sejam capturadas, decompostas e armazenadas para posterior reutilizaçio. As informações devem ser decomposw até um nlvel de representação para o qual estará disponlvel um gerador de c:ódigo fonte, simplificando a fase de implementaçio [6,7] . Esta abordagem foi definida durante uma atividade denominada pré-análise do domínio . Segundo [18], cada problema tem sua própria linguagem que é denominada Linguagem do Donuruo (LD), e a identificação desta linguagem é resultado de um processo denominado Análise de Domínio. 311 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Upload: dinhhanh

Post on 20-Mar-2018

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO Massruhá, Silvia M.F.S.

RESUMO:

e-mail: [email protected]

Ferraretto, Mário D. (•) Miximo, Fernando A. Meira, Carlos A. A. Pusos, Sérgio L. Z.

Visoli, Marcos C.

Centro Nacional de Pesquisa Tecnológica em Wormática ~ara Agricultura - CNPTIAIEMBRAP A

(•) Uruversidade de Slo Paulo - USP

Este trobDIIIo de~ IUIIQ jii'TGIMnla, denomiiUidtl A.Esp, qu• visa aux/1/IJI' a çaplllra das ts~cljlcaçllls das apll~s do domlnio tá admin/slraç40 f"'lroi t transform4-las. incrtmtntalmentt, 1m IUIIQ rtpnsentaçllo (/III

J'(Hk ser troduJdo para um progrtJJNJ operocional. Esta flrra~MniD I parti do antbi1nt1 FMS ('F­Manogtment Systtm") qut tsl4 sendo dtstnvolvido para a EMBRAPA. O FMS; um ambitntt para a gtroç4o automatllDdo de aplicativos do domlnio tá admlnistraç4o t"'lfal.

Palavrtu.CIIav1s: asslsttnt1 de csptcif/COf40, an41íst dt dom ln/o, gerador dt apllcaç4o, rtuSO.

AIJSTRACT:

T1rls pa~r dtsaib1s a too/, calltd A.Esp, for cap111ring Informal sptcif/cations of farm managtmtnt domain appllcations and incrtmentally transforms tlttm into a rtpnstntatlon lhaJ can b1 translattd into an operationa/ program. T1ris too/Is part of tltt FMS (Farm Managtmtnl Systtm), a prototypt softw/JI't 1nginttring 1nvironment for EMBRAPA, almtd at automatlc gtntraJ/on of 1111all farm managtmtnt appllcatlons.

Ktywords: sptcijicatlon asslstant, domaln analysis. applicatíon gtntrator, rtust.

1) INTRODUÇÃO

O FMS é um ambiente de software para a geraçio automatizada de aplicativos do domínio de administraçio rural.

A abordagem utilizada pelo FMS prevê que durante a fase de especificaçlo as informações de uma aplicaçlo sejam capturadas, decompostas e armazenadas para posterior reutilizaçio. As informações devem ser decomposw até um nlvel de representação para o qual estará disponlvel um gerador de c:ódigo fonte, simplificando a fase de implementaçio [6,7]. Esta abordagem foi definida durante uma atividade denominada pré-análise do domínio.

Segundo Nei~boors [18], cada problema tem sua própria linguagem que é denominada Linguagem do Donuruo (LD), e a identificação desta linguagem é resultado de um processo denominado Análise de Domínio.

311 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Page 2: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

A anilise de domínio, para Neighboors, produz os operandos e operadores de uma classe de aplicações, e, com base nesta análise, uma linguagem é construlda e usada para especificar outros problemas do domínio em questlo.

A anilise de domínio, no escopo do Projeto FMS, foi realizada em duas etapas. A primeira etapa identificou o elenco de funções básicas e o modelo de fluxo de controle e dados típacos das aplicações do domínio de administraçlo rural. A segunda etapa agregou esse conjunto de funções na forma de uma Linguagem de Composiçlo do FMS (LC-FMS) e modelou as aplicações na forma de programas da classe reativa [7).

Sob o modelo do FMS, os reqwsitos do usuário slo incrementalmente transformados em uma especificação descrita em LC-FMS, e a aplicaçlo, ~erada automaticamente a partir da especific:açlo em LC-FMS, compona-se como uma máquana de estados estendida (22]. Para suponar esta abordagem, a metodologia subjacente ao FMS é baseada em um modelo de rúveis.

2) MODELO DE NÍVEIS DO FMS

O modelo de rúveis do FMS propõe uma lúerarquizaçio entre os rúveis do l?rocesso de transformaçlo dos requisitos do usuário, basicamente devido aos métodos disporúveas para essa tarefa.

O modelo utilizado é o modelo PW de Lebman [ 11 ]. no qual o rúvel nlo fonnaliz.ado é descrito como rúvel conceituai e o rúvel onde hi uma descrição formal da aplicaçlo, ainda que incompleta, é denominado, neste trabalho, rúvel operacional. Para este rúvel hi um mecanismo de reificaçlo (concretizaçlo) bem determinado (Figura 1).

Abetraoao

2.1) Nivel Coaceitual

' ' ' '

-.. ·····-­~-rmal

' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

CNt.,..•ellle• ... -..t--)

' ' ' Figura I. Modelo do FMS sob o modelo PW

O processo de captura dos requisitos do usuário (informal) e sua traduçlo para uma representação formal é um problema em engenharia de software [19]. Os trabalhos de Balzer (3] sobre este tópico mostram que o processamento de especificações em linguagem natural é um problema em aberto. Os problemas que ocorrem na etapa de especificaçlo de requisitos a tornam uma du etapas mais criticas do processo de desenvolvimento de software (16).

Segundo Aslett [2], a comunicação entre o usuário e o desenvolvedor de sistemas é um fator limitante nesta etapa e que compromete a confiabilidade do software produzido. O usuário é

312 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Page 3: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

um especialista do domínio e nio conhece a tecnologia e a terminologia utilizada pelo desenvolvedor de sistemas e vice-versa.

Além disso, as etapas do ciclo de vida do software (converslo de requisitos em especificaçlo, especificaçlo em implementaçio) slo mal documentadas, fazendo com que as informações que estio por trás de cada passo nio estejam disponlveis nas etapas sef1intes. Estes problemas de comunicaçio e documeotaçio tomam a especificaçio de requiSitos errõnea. mcompleta e amblgua.

Assistentes de Especificaçlo slo ferramentas para auxiliar nesta etapa de captura das especificações. Para apoiar o processo de abstraçio, essencial na captura de requisitos do usuário e posterior transformaçlo para o nlvel de representaçio, o FMS prevê a existência do AEsp • Assistente de Especificaçio, de forma semelhante a outros sistemas (1,2,4,8,9,20,23).

O AEsp suporta o processo de entrevista e documeotaçio dos requisitos dos usuários , sua dccomposiçio sistematizada sob urna metodologia formal e a coleta do jarglo especifico através da instanciaçio de componentes pré-existentes. O resultado de uma sesslo sob o AEsp, quando bem sucedida, é a aplicaçio do usuário e sua Linguagem da Aplicaçio(LA) subjacente (12).

l .l) Nível Operacioaal

O IÚvel operacional incorpora o processo de transformaçlo dos requisitos do usuário para um programa executável. Este nlvel foi reduzido ao processo de traduçio entre os nlveis da aplicaçio, represeotaçio e implementaçio. A Figura 2 mostra essa hierarquizaçio.

Nlvel da Aplicaçio (Linguagens da Aplicação)

LAz LA3 ........ LA,

Nlvel de Representaçio

Nível de Implemeotaçio

llin em C biiCecas comuns

Figura 2. Hierarquizaçio do nlvel operacional

:U.l) Nivd da Aplicaçlo

Usando a terminologia de Leite (12], uma aplicação, neste nlvel, é descrita em urna LA. Segundo Leite, as linguagens da aplicaçio (LAs) slo linguagens que têm todas as caracteristicas das linguagens do domínio, só que tratam de uma ou duas instincias daquele domínio. As LAs, no modelo do FMS, sio expressas em LC.FMS. Esta metáfora suporta tanto:

a) versões diferentes da mesma aplicação, o que representa o seu desenvolvimento incremental;

313 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Page 4: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

b) aplicações diferentes para problemas semelhantes, que é amparado pelo modelo de Linguagetu de Donúruo [ 17).

2.2.2) Nivel de Represeataçlo

O nível de representaçlo é descrito pela sintaxe e semintica da LC-FMS, que é composta por várias sublinguagetu: linguagem de especificaçlo de formulários (telas), linguagem de especificaçlo de transições entre formulários, linguagem de especificaçlo de base de dados, linguagem de especificaçlo de ações (operações relacionais. transformações e relatórios), linguagem de especificaçlo de consistências e helps. Através dessas linguagetu, a aplicaçlo incorpora os vários componentes do domínio:

a) componentes de alta especificidade que aparecem como operandos e operadores dessas linguagens;

b) componentes de alto índice de reutilizaçlo, que slo "templates" ou "clichés" (23] cuja expando sintática materializa funções especificas da aplicaçlo em desenvolvimento.

2.1.3) Nivd de Implemeataçlo

Do nível de representaçlo, a aplicaçlo descrita em LC-FMS é traduzida automaticamente para uma implementaçlo em linguagem C através de um gerador de código fonte (GFMS -Gerador do FMS), que usa as técnicas convencionais de compilaçlo e ferramentas de geraçlo de código [ 1 S).

O processo de traduçlo entre os niveis de aplicaçlo, representaçlo e implementaçlo é conhecido na literatura e pode ser modelado, na abord~em de anilise de dominio, como um processo de traduçlo suponado por uma rede de domínios [ 17].

O processo de traduçlo dos requisitos informais do usuário para uma representaçlo formal (LA descnta em LC-FMS), que é suponado pelo AEsp, está descrito nu próximas seções.

A Figura 3 mostra o escopo do AEsp através do mapeamento do FMS aob o modelo PW que permite separar as etapas de abstraçlo (coleta de especificaçlo, incluindo reuso e prototipaçlo) da etapa de concrctizaçlo (geraçlo automatizada do código) .

·~··- ... A•lte .. a.

............. ~.r ... at

Figura 3. O escopo do AEsp sob o modelo PW

314

. ........ ·-· .. ··--·

PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Page 5: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

3) CARACTERÍSTICAS DO AEsp

O enfoquc utilizado, pelo AEsp, para síntese da aplicaçio descrita cm LC-FMS é:

a) considerv o usuário como o especialista que fomcc:c a informaçio sobre a aplicaçio; b) clicitar incrementalmente, através de uma entrevista, os conceitos da apücaçio sob uma

metodologia de dccomposiçio; c) nio tentar automatizar a etapa de cspccificaçio, isto é, evitar o processamento

automático da linguagem natural, mas utilizar um Engenheiro de Espccificaçio para conduzir a entrevista c reduzir o vocabulário envolvido;

d) ofcrcc:cr ao usuário uma infraestrutura para entrevista similar a aplicaçio final; c) catalogar u abstraçôcs de dados c açôcs de forma a possibilitar seu rcuso cm outras

aplic:I9ÕCs c, portanto, potencializar a transformaçlo de uma LA cm W .

Para suportar este processo, o AEsp foi construído com as seguintes caractcristicas:

a) estrutura de controle de entrevista com o usuário, pcmútindo capturar as especificações das aplicações;

b) estrutura de prototipaçlo para apoiar na entrevista c validar a cspccificaçio a qualquer momento;

c) esquema de catalogaçio de componentes (o~randos c operadores) de modo a incrementar permanentemente o acervo do donunio. A transformaçio de componentes específicos cm componentes instanciivcis é feita "off-linc";

d) esquema de rcuso das informações do domínio, através de "rcusc dacmons" (scçio 4.3); c) aprcscntaçlo da dccomposiçio da aplicaçio, sob várias formas, para facilitar o

"backtracking".

O protótipo do AEsp suporta essas funcionalidades através de um conjunto de ferramentas integradas. cuja conccituaçlo está apresentada na Figura 4. Estas ferramentas slo: Entrevistador, Prototipador, Catalogador de Componentes, Montador c Reutilizador. A dcscriçlo dessas fcrramcntu cstá na scçio 4.

Figura 4. Ferramentas do AEsp

3.1) O Engenheiro de Espetificaçlo

O Engenheiro de Especificaçlo é um técnico treinado a operar o AEsp com o objctivo de ~~uzir a entrevista para extrair a informaçlo do Especialista do Dorninio (usuário). Suas aUVldadcs sio:

315 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Page 6: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

a) auxiliar no mapeamento da linguagem natural para o vocabulário controlado do ambiente AEsp;

b) oferecer o protótipo da aplicaçlo durante a entrevista; c) apoiar a modelagem dos dados e decomposiçlo du ações; d) apoiar o "backtrack" quando necessário.

4) ARQUITETURA DO AEsp

Nesta seç!o, está descrito detalhadamente cada ferramenta que compõe a arquitetura do AEsp (Figura 5).

....... .. . c ........... .

............. t ... ...... u-4.1) Entrevistador

• ..... o ......... .

M .. ll-4a ......... , .. .. .......... _..

Figura 5. Arquitetura Geral do AEsp

O Entrevistador é uma ferramenta para auxiliar na coleta de infonnações do usuário através de um modelo de entrevista. Este modelo de entrevista, no qual o AEsp se baseia, tem as seguintes propriedades:

a) roteiro de entrevista para refinamento do problema; b) decomposiçlo do problema segundo uma metodologia; c) aplicação de regras da metodologia para garantir sua corretude; d) invocaçlo dos "reuse daemons"; e) mudanças de estratégia na decomposição quando necessário; f) supone a visio global do processo de decomposiçlo. O entrevistador executa várias funções para suponar este modelo de entrevista, como

descrito na Figura 6.

316 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Page 7: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

.............. •• u .... , ••

• llt ................ .....

...... o-..... •••

............. --

.... , ..... , .... ,.... ... .

... .............. ,. ..... .

............ ...........

..............

.............. .. u ... ., ••

Figura 6. Funções do Entrevistador

... .......... .. ... ...... ,._

·--• • G•••••••••

O entrevistador funciona como um Gereaeiador da Eotrnista, que especifica as ne<:eSSidades do es~sta do domínio seguindo um roteiro de entrevista. O roteiro de entrevista foi definido a partu' de uma análise local das aplicações do donúnio. Este roteiro é baseado em perguntas dirccionadu ao usuário c permite especificar o problema segundo uma metodologia de dccomposiçio.

A esuutura do entrevistador depende da metodologia de dccomposiçio c, oeste trabalho, está sendo utilizada a metodologia HOS ("Hish-Order Softwarc")[l4). Esta metodologia permite decompor os dados e u ações de uma aplicaçio cm uma espec:ificaçio na forma de uma estrutura de árvore óndc os nós da úvorc representam rúveis hierárquicos da dccomposiçlo, c sio denominados "Control Maps".

A espccificaçlo cm HOS é representada, como é mostrado na Figura 7, por uma esuutura arbórea onde cada nó representa uma Funçio (F) c cada funçio tem um ou nws objetos (dados) de entrada (x) c saída (y).

......... -,.,__. .. --

------........ _, .... , _____ , ............................... -........ , ___ ! I , • ~Cx)

I ·~-· .1· I -

iw--1 ~~~' =t::J-• I I I : I

' I I I I

1. ......................................................... ~.: .. ~ .. \ """.l ----Figura 7. HOS - Hish Order Software

317 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Page 8: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

A decomposi~ finaliza quando se chega a um nó primitivo, para o qual h! uma correspondência no ruvel de representaçlo, ou a um objeto instanciável no acervo do sistema que faça o processo recorrer. A entrevista é conduzida de modo que se possa otimizar o caminho até os nós primitivos.

Conapondênciu no ruvel de representaçlo slo expressas por Regru de Produçlo, que slo aplicadas para obter a espec:ific:açlo da aplic:açlo descrita em LC-FMS.

O entrevistador também funciona como um "VIewer•, isto é, a qualquer momento o engenheiro de espec:ific:açlo pode exibir graficamente a árvore de decomposiçlo, sendo que o processo de decomposiçlo pode ser reiniciado a partir de qualquer nó da árvore.

O modelo de entrevista prevê que c:aso a decomposiçlo chegue a um "dead end", ou a uma inconsistência, existe um Acoaselbador de Estratigla que pode sugerir uma reorientaçlo da decomposiçlo, e, consequentemente, da entrevista.

Na verslo corrente, o entrevistador foi desenvolvido usando uma base de conhecimento implementada em Nexpert [24]. A Figura 8 é um exemplo da representaçio em Nexpert da espec:ific:açlo de uma funçlo F (Figura 7) até chegar a um nó primitivo, onde foram aplicadas algumas regras de produçlo para se obter u correspondênciu no ruvel de representaçio (Formulários e Cam~s).

Todu essu informações c:apturadu pelo entrevistador ficam armazenadu em uma base de conhecimento de modo que possam ser reusadas na especific:açlo de uma nova aplic:açlo do domínio.

EDIIIPIO:

, .... .... , ...... . ..

, .. _.,. ,.,., '--:·.. ..,, ..

. ····::; :::::: ·:::~:~~:-~

.... ······ .. ··~···Óo~ .... / •. / ,;·

I

... ,, ... , ...... ... . ,. ... , ....... .... .. Figura 8. Representaçlo em Nexpert da especific:açlo da funçlo F

318 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Page 9: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

4.2) Catalopdor

O Catalopdor é uma ferramenta para auxiliar na captura dos componentes do domínio durante a especificaçlo e annazeni-los na base de conhecimento. Esta ferramenta implementa duas funções básicas:

a) salvar parte de uma sesslo da entrevista que o Engenheiro de Especificaçlo perceba ser potencialmente reutilizável- normalmente slo "Control Maps";

b) incluir componentes instanciáveis, que slo a forma básica de reutilizaçio de informações do domínio. Componentes instanCiáveis slo descritos em urna linguagem denominada CMO - "Control Maps Operators"(7]. A entrevista é, em última análise, o conjunto de perguntas e respostas que pennite IDStaDciar esses componentes para o "Control Map" especifico da aplicaçlo do usuário. As técnicas de reanálise do domínio que permitem examinar um conjunto de componentes especificas e transformá-los em um componente instanciável ainda nlo estio formalizadas. Componentes instanciáveis podem ser identificados tanto no rúvel da aplicaçlo quanto no rúvel de representaçio.

4.3) Reutilizador

O AEsp é um assistente de especificaçlo voltado para um domínio específico, permitindo a especificaçio de família de sistenw sob uma infraestrutura comum.

Sob esta vislo, uma infraestrutura de reuso pode ser construída, de modo que a especificaçio de uma nova aplicaçio do dornirúo possa usar as informações já armazenadas no desenvolvimento de aplicações anteriores (S).

A base de conhecimento mantida pelo catalogador é continuamente varrida durante o transcorrer da entrevista pelo que se convencionou chamar de "reuse daemons". Estes processos slo disparados sempre que:

a) o usuário fornece uma a.çio expressa por um verbo que, colocado na forma de infinitivo pelo enJenheiro de especificaçlo, fornece a chave de busca na base de componentes;

b) o usuáno fornece um o~= da açio que conste cm urna das classes existentes. Nestas ocasiões, o Reu dor, mostrado na Figura 9, dispara a instanciaçlo dos

componentes envolvidos (a maior pane das vezes pela troca dos identificadores formais) e oferece u possíveis sugestões de especificações previamente armazenadas.

...... o .......... ...

................ ~----·····---

1·---...UTILIZADOR I------- .......... ... -·······---

l D•m••~ .. •r

Figura 9. Reutilizador

319 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Page 10: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

Conjectura-se que esta abordagem de reuso é aderente ao domirúo agropecuário baseado nas seguintes premissas:

a) propriedades com a mesma atividade de produçlo têm necessidade de informações mwto semelhantes, mas nlo iguais;

b) processos gerenciais slo paniculares do proprietário e devem ser incorporados na aplicaçlo.

4.4) Prototipador

O Prototipador é uma ferramenta para auxiliar na especificaçlo da aplicaçlo permitindo a validaçlo incremental da aplicaçlo durante a entrevista.

Um sistema de apoio à captura das especificações, enquanto diminui o trabalho de anotações das informações do usuúio n1o elirrúna a ambiguidade que existe na produçlo de software e o entendimento errado pelo engenheiro de especificaçlo das necessidades do usuúio. Prototipaçlo [I 0,13,21) é uma técnica que está sendo adotada para que, em qualquer momento da entrevista, o usuário tenha urna vislo do que já foi capturado. Desta forma, o especialista do donúnio e o engenheiro de especificaçlo juntos podem rever e validar a especificaçlo do sistema.

O prototipador do FMS, mostrado na Figura I O, tem como funções básicas: a) suportar a metodologia de prototipaçlo incremental; b) "tunning" da interface com o usuário; c) interface com o montador. -........ ..... .. -. ..... ._..

............... ~ ..... ···-.. ____ , .. ~ ...... _

Figura 10. Prototipador

Esta ferramenta possui um Editor de Formulários onde pode ser desenhado as telas da aplicaçlo. O Editor recupera as informações da base de conhecimento e gera as telas correspondentes. A partir daí, com apoio de urna interface arnigáve~ o usuário pode alterar as telas da aplicaçlo da maneira desejada. Na implementaçlo corrente da ferramenta está sendo utilizado o SILK (gerador de interfaces gráficas para padrlo OpenLook) [25].

O prototipador, a partir da base de conhecimento associada à aplicaçlo, permite também urna simulaçlo do comportamento da aplicaçlo. O usuário pode alterar substancialmeote a interface, n1o apenas no que concerne ao valor dos atributos e posicionamento dos campos das telas, mas também no encadeamento das telas e ações. Todas as mudanças no protótipo slo incorporadas na base de conhecimento original.

Após a validaçlo da interface pelo usuário pode ser requisitado urna montagem da aplicaçio ao Montador para completar o protótipo e transmiti-lo a um microcomputador mM PC compative~ que pode mostrar o componamento completo da aplicaçio.

320 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Page 11: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

4.5) Moatador

O Moatador, a panir da varredura da árvore gerada pelo entrevistador e base de conhecimento correlata, gera o pro"arna descrito em LC-FMS que será a entrada para o GFMS gerar a aplicaçlo do usuário, como e mostrado na Figura 11 .

............ .......... __ ..................... .. ·-·--···--·-

.... ONTADO ...

'-··-.... =--

Figura 11. Montador

............. ······-­.... ~-.... -

A forma LC-FMS, textual na atual implementação, pennite tradução automática para outru especificações tu'bridu ("resources" do Windows ou "widgets" do XView).

Como um exemplo da LC-FMS, abaixo é dada a especificação de uma tela de um Sistema de Controle de Rebanho Leiteiro (SJSCOREB) que está sendo desenvolvido para validar os conceitos do FMS.

%%EXT FORM ATI'RIBüTE • Edit CONTROL • BUTTON

%%FORM !--------------------------------=---==~-----1 REBANHO.CUF

1--~--------------=---=---------~======---=-1 Definicao do formularia para a edicao da base de dados do I rebanho !===-==--=--===========--====--=======-==~====== COLOUR • White /Biue INPUT • Yellow/Cyan TCOLOUR • Y ellow/Blue EDITCOLOUR • White/Cyan TYPE • DOUBLE SIZE .. 80,25 TITLE ... "Cadastro do Rebanho"

,2; "NRO BRINCO (ID):" TEXT ... FIELD .. TEXT • TEXT TEXT = TEXT = TEXT

0,2; NAME•BRINCO; STRJNG(S) ,3; "TIPO ........... :• ,4; "NOME ........... :• ,S; "DATA NASC ...... :" ,6; "PAI ............ :" ,7; "MAE ............ :"

321 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Page 12: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

TEXT • ,9; "LOCAL .......... :" TEXT • ,10; "ESTADO ......... :" TEXT • ,11; "LACTACAO ....... :•

TEXT -~,8; "RACA. .......... :"

FIE.I.D = 0,3; NAME• TIPO; CHOICE(7) • "Novilha!VacajTouro"; & VALUE""l FIE.I.D "' ~0,4; NAME• NOME; STR.ING(20) FIE.I.D = O,S; NAME-=DTA NASC; DATE FIELD • 0,6; NAME• PAI; "STR.ING(20) FIELD "' 0,7; NAME• MAE; STR.ING(20) FIELD ... 0,8; NAME• RACA; & CHOICE(l ) • "HolandesajNelorejSta-GertrudesiGir" FIE.I.D = @20,9; NAME• LOCAL; STR.ING(2) FIE.I.D • @20 to· NAME•ESTADO· &. CHOICE(lO)= :V.;.gemjEsteóii~IVa.ziaiPrenha!Seca!Parida" FIE.I.D = @20,11; NAME=LACTACAO; NUMERIC(4)

%%SCHEMA #FILE REBANHO #KEYBRINCO

5) PROTÓTIPO DO AEsp

A implementaçlo do AEsp exigiu a integraçlo de geradores de interfaces, bases de conhecimento, gerenciadores de bases de objetos, técnicas de análise de domínio e reuso. A plataforma de software escolhida para implementar o AEsp foi:

a) Nexpert: gerenciador de bases de objetos e máquina de infermcia para implementar u regru da metodologia e disparo dos "reuse daemons";

b) Silk: $erador de interfaces gráficas para padrlo OpenLook com recursos de "link dinimico".

A plataforma de hardware para desenvolvimento do AEsp, na verslo corrente, é uma est.açlo de trabalho SUN. Entretanto, a aplicaçlo final é gerada para o ambiente PC que é a plataforma padrlo para os usuários do domínio em questlo.

6) ESTÁGIO DE DESENVOLVIMENTO

O Entrevistador do AEsp está com a sua arquitetura razoalvemente estabilizada. A implementaçlo em Nexpert já inclui um avaliador genérico de "Control Maps" e sua instaDciaçio. O Prototipador e Montador estio implementados e geram, respectivamente, o protótipo da interface da aplicaçlo e parte substancial das especificações em LC-FMS. O reutilizador nlo está implementado e o catalogador dispõe apenas parte de sua funcionalidade.

Os compiladores du sublinguagens da LC-FMS estio operacionais, exceto a sublinguagem de eventos e relacional.

O ambiente FMS (AEsp, GFMS e ferramentu auxiliares) também está sendo usado para a definição e geraçlo de um sistema de Controle de Rebanho Leiteiro (SISCOREB).

O componente "Controlar", essencial para essa aplicaçlo, está bem definido e estudado, e já há uma descriçlo desse objeto com a correspondente linguagem de operadores para sua catalogação. O SISCOREB já incorpora o conceitos de eventos e decomposiçlo de estados suportados pela metodologia de entrevista usada no AEsp. A liberaçlo da verslo alfa do sistema está prevista para o ano de 1994.

322 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Page 13: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

7) CONCLUSÃO

As caractcristicas do AEsp, como implementado, sio compatíveis com os outros projctos desse tipo [16]. O escopo é mais limitado que ASPIS [2], KBRA [4], KBRET [8] e "Requirements Apprentice" [23] e cobre uma classe de aplicações mais simples, porém, supõe-se que essa focaliuçio aumente a viabilidade do AEsp.

O AEsp tem dificuldades operacionais por exigir uma {llataforma de hardware heterogénea. Há estudos de viabilidade que mostram que a sua nugraçio completa para a plataforma alvo (PC) é possível pela substituiçio do SILK por um gerador de interfaces para Wandows e a cxec:uçio do Ncx~n neste hardware.

A utilidade e exequibilidade do modelo preconizado pelo AEsp depende de um mimero expressivo de sessOes quando o acervo realmente puder corresponder às demandas do usuário. A identificaçio c incorporaçlo de componentes instanc:iáveis também depende dessa utiliz.açlo em larga escala.

8) BIBLIOGRAFIA

[I) ARIAS, C. Um uais&eate especialista para especificaçio de requisitos, Campinas: UNICAMPIIMECC, 1992. (Tese de Mestrado)

[2) ASLETT, M. J. A kDowledae bued approac:b to software developmeat: ESPRIT Project ASPIS. Amltcrdam: Nonh HoUand, 1991.

[3) BALZER, R. ; GOLDMAN, N.; WILE, D. lnforrnality in Program Specifications. ln: RICH, C.; WATERS R. C. ReadiDp lo artificial ioteUiaeoce aod software eapaeeriaa. Los Altos, CA: Morgan Kautinannk, 1986. p. 223-232.

[4) CZUCHRY, A. J.; HARRIS D. R. KBRA: A new paradigm for requiremcnts enginecring, IEEE ~pert, v. 3, n. 4, p. 21-35, winter, 1988.

[5) DIAZ, P.R.; ARANGO, O. Domaia aaalysis aod software syatems modeliaa. Los Alamitos, CA: IEEE Computcr S09icty, 1991.

[6] FE.RRARETTO, M.D.; MASSRUHA, S.M.F.S. Projeto: ambieate de dcseavolvimeato de software para domiDio de admioistraçio rural - FMS. Campina.s/SP: EMBRAPA-CNPTIA, 1994. (Documento interno apresentado ao Sistema EMBRAPA de Planejamcnto - SEP)

[7] FE.RRARETTO, M.D. Metodotoaia para dcseavotvimeato rápido de aplicaç6cs -MEDRA. CampinasiSP: EMBRAPA.CNPTIA, 1994. (Documento interno)

[8) GOMAA, H.; KERSCHBERO L.; SUOURUMAN V. A knowledge-based approach to generating targct system specifications from domain model. ln: IFIP Coagress, Madrid, Spain, I 992.

[9) OREEN, C.; LUCKMAN,D.; BALZER, R.; CHEATHAM, T.; RICH, C. Repon on a Knowlcdge-Bascd Software Assistant. ln: RICH, C.;WATERS R. C. Readiop ia artifldal iateUiaeace aod software eaaioeeriog. Los Altos, CA: Morgan Kaufinaonk, 1986. p. 525-535.

[10) JORDAN, P.W.; KELLER, K.; TUCKER; VOOEL, D. Software storming - combining rapid prototyping and knowledge engineering. IEEE Computer, v.22, n.5, p. 39-48, rnay 1989.

[11] LEHMAN, M.M. A futber modcl of coherent programming processes. Software Process Worksbop, p. 27-35, 1984.

[12] LEITE, J.C.S.P. O uso de hipcncxto na clicitaçio de linguagens de aplicaçio. Simpósio Brasileiro de Engenharia de Software, 4, Águas de Slo Pedro, 24-26 de outubro de 1990. Aoais. Sio Paulo: USP/CCS, 1990. p. 134-149.

[13] LUQI. Software evolution through rapid prototyping. IEEE Computer, v.22, n.5, p. 13-25, may 1989.

323 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor

Page 14: AEsp: UM ASSISTENTE DE ESPECIFICAÇÃO · PDF fileLAz LA3 ..... LA, Nlvel de Representaçio Nível de Implemeotaçio llin em C biiCecas comuns Figura 2. ... que slo "templates" ou

[14) MARTIN, J. Syatc:m deslga from provably corrc:ct coastrucu. Englewood Cllffs: Prentice-Hall, 1985.

[JS) MASIERO, P.C.; MEIRA, C.A.A Development and instantiation ofa generic application generator .. Tbe Jou111al ofS)'atema aad Software, v. 23, n.1, p. 27-38, oct. 1993.

[16] MASSRUHA, S.M.F.S. Um estudo sobre asaiateates de especifica~o. Campinas/SP: EMBRAPA-CNPTIA, 1994. (Relatório Técnico, submetido a publicaçio)

[17] NEIGHBORS, J.M. The Draco approach to constructing software from reusable components. ln: RICH, C.; WATERS R. C. Rudinp ia artificial iatdlipace aad software c:asioeerin&. Los Altos, CA: Morgan Kaufinannk., 1986. p.S2S-S3S.

[18] NEIGHBORS, J.M. Draco: a metbod for enpaeerin1 reusable software l)'ltems, software reaaability, coacepU aad modeb. 1989 (ACM Presa Frontier Series, 1)

[19) PRESSMAN, R. Software eapaeerin1: a practitloaer'a approacb. 3.ed. New York: McGraw-Hill, 1992.

[20] PUNCELLO, P.; TORRIGIANI, P.; PIETRI, F.; BURLON, R.; CARDD..E, 8 .; CONTI, M. ASPIS: A knowledge-based CASE environment. IEEE Software, v.S, n.2, p. 58-65, mar. 1988.

[21) TANIK, M.M.; YEH, R.T. Guest editor's introduction: Rapid prototyping in software development. IEEE Computer, v. 22, n.S, p.9-12, may 1989.

[22] W ASSERMAN, A. I. Extending state transition diagrams for the specification of human­computer interaction .. IEEE Traauctioaa o• Software Ea&iaeeria& v. 11, n. 8, ago. 1985.

[23) W A TERS, R. The requirements apprentice: automated assistance for requirements acquisition. IEEE Traauctioaa oa Software Ea&ineeri•&. v. 17 n. 3, p. 226-240, mar. 1991.

[24] NEXPERT OBJECT; venioa 2.0; iatroductioa manual. Palo AJto/CA: Neuron Data, 1991.

[25) SD...K- Eacap: uaer'a maaual, release 1.0. AustinffX: ISSI, 1993.

324 PDF compression, OCR, web optimization using a watermarked evaluation copy of CVISION PDFCompressor