• Nenhum resultado encontrado

Modelagem Sistem´atica

No documento LeandroDiasdaSilva-TeseDoutorado (páginas 45-48)

Nesta sec¸˜ao descrevemos conceitualmente uma soluc¸˜ao de modelagem baseada em re´uso de mo- delos. Na Figura 3.2 podemos ver um esquema que ilustra a soluc¸˜ao introduzida. Al´em das atividades de re´uso tamb´em consideramos a verificac¸˜ao de uso. Essa etapa consiste em realizar a verificac¸˜ao de modelos com os modelos integrados para verificar se o caso de uso espec´ıfico est´a correto. A etapa de manutenc¸˜ao do reposit´orio, ou seja, recuperac¸˜ao e inserc¸˜ao de modelos neste, s˜ao tratadas em [60]. Enquanto que a adaptac¸˜ao ´e definida em [42].

A t´ecnica de modelagem sistem´atica, bem como a verificac¸˜ao formal, foram aplicadas ante- riormente aos dom´ınios de Sistemas Flex´ıveis de Manufatura (SFM) [30, 18, 23, 25, 26, 21], e Sistemas Multi-Agentes (SMA) [29, 22, 37].

Em v´arios ramos da engenharia o processo de re´uso de blocos de construc¸˜ao ´e utilizado para o desenvolvimento mais eficiente de projetos. Com o re´uso pode-se conseguir uma economia de recursos como dinheiro e tempo, al´em de diminuir a possibilidade de erros humanos. Nos ´ultimos anos, estudos em engenharia de software tˆem sido desenvolvidos na tentativa de definir t´ecnicas e m´etodos para tornar o processo de desenvolvimento de software similar aos processos de engenha- ria. Uma das soluc¸˜oes adotadas ´e conhecida como componentes, que vem sendo discutido neste cap´ıtulo. A id´eia ´e que o sistema de software passa a ser desenvolvido a partir de componentes utilizados como blocos de construc¸˜ao. A importˆancia do re´uso no desenvolvimento de sistemas complexos ´e incontest´avel.

Durante o desenvolvimento de v´arios projetos, verifica-se que dentro de um contexto es- pec´ıfico de aplicac¸˜ao sempre existem caracter´ısticas comuns entre esses. Essas caracter´ısticas

Verificação de Uso Integração Adaptação Recuperação Temporal Logica Recuperado Adaptado Integrado Verificado Arcabouço Especificações Especificações Especificações Repositorio de Modelos CPN Modelo CPN Modelo CPN Modelo CPN Modelo CPN

Figura 3.2: Esquema para a soluc¸˜ao de re´uso de modelos CPN.

podem estar representadas por qualquer artefato tipo trecho de c´odigo, ou modelagem em algum formalismo. Especificamente neste trabalho estamos tratando de modelos de redes de Petri co- loridas, ent˜ao essas redes ser˜ao os artefatos reusados. ´E na identificac¸˜ao dessas caracter´ısticas dentro de um contexto que o re´uso assume um papel importante. Primeiro porque uma vez iden- tificado algo que provavelmente j´a foi feito pode-se procurar e reutilizar o artefato com algumas adaptac¸˜oes. Segundo porque uma vez desenvolvido algum artefato que pode ser utilizado em ou- tros projetos este pode ser disponibilizado para poss´ıveis re´usos. Al´em disso, a institucionalizac¸˜ao do processo de re´uso aumenta a confianc¸a dos artefatos pois a tendˆencia ´e reusar artefatos prove- nientes de esforc¸os bem sucedidos de modelagens anteriores.

Uma vez identificada uma parte de um modelo que pode j´a ter sido desenvolvido, procede-se com a busca desse modelo, que ´e tratado pela etapa de recuperac¸˜ao ilustrada na Figura 3.2. Uma vez localizado o modelo, ´e poss´ıvel que este necessite de adaptac¸˜oes para possibilitar o re´uso, o

que ´e tratado pela segunda etapa do processo de re´uso mostrado na Figura 3.2. Uma vez que os modelos estejam prontos para o re´uso, o terceiro passo ´e integrar esses modelos para desenvolver o modelo desejado. Finalmente ´e necess´ario fazer a verificac¸˜ao de uso dos modelos integrados, como uma ´ultima etapa no processo de re´uso para verificar se o re´uso n˜ao alterou a semˆantica dos modelos reusados.

Em se tratando de m´etodos formais, ´e poss´ıvel desenvolver m´etodos autom´aticos de manipulac¸˜ao. De fato, todos os passos mostrados na Figura 3.2 foram implementados como pro- cedimentos totalmente autom´aticos.

Para o desenvolvimento deste trabalho foi utilizado o Design/CPN no desenvolvimento e an´alise dos modelos. Foi utilizada a biblioteca ASK/CTL [7] para a verificac¸˜ao de modelos [47, 9, 10, 11]. As especificac¸ ˜oes de propriedades para a recuperac¸˜ao, adaptac¸˜ao, e verificac¸˜ao de uso s˜ao realizadas em l´ogica temporal [39]. Enquanto que a integrac¸˜ao de modelos ´e realizada atrav´es de func¸˜oes implementadas para o Design/CPN.

3.3.1

Recuperac¸ ˜ao

Tendo identificado os elementos do sistema podemos recorrer ao reposit´orio objetivando recuperar candidatos a re´uso. Essa identificac¸˜ao ´e um resultado obtido das fases de requisitos e arquitetura do sistema como mostrado na Figura 3.2. Conforme foi definido em [58, 60], a recuperac¸˜ao con- siste em: Escrever propriedades desejadas em l´ogica temporal; verificar as propriedades descritas contra um meta-modelo (reposit´orio); se mais de um candidato for encontrado avaliar atrav´es de simulac¸˜ao e descric¸˜oes o seu comportamento e caracter´ısticas n˜ao funcionais para decidir o melhor candidato ao contexto atual. Caso nenhum candidato seja encontrado o modelo deve ser desenvolvido.

Ap´os a recuperac¸˜ao dos modelos das entidades o pr´oximo passo poder´a ser a integrac¸˜ao desses modelos ao arcabouc¸o, ou a adaptac¸˜ao de um ou mais desses modelos. Note que podemos fazer a recuperac¸˜ao de todos os modelos antes de prosseguir com a integrac¸˜ao ou adaptac¸˜ao, recuperar um modelo e integr´a-lo em seguida antes de recuperar o pr´oximo. Esta decis˜ao fica a cargo do projetista n˜ao fazendo diferenc¸a para a soluc¸˜ao apresentada. Opcionalmente pode ser realizada a adaptac¸˜ao dos modelos recuperados.

3.3.2

Adaptac¸ ˜ao

Quando um modelo ´e recuperado do reposit´orio ele pode n˜ao satisfazer totalmente as necessidades espec´ıficas de um dom´ınio. Por exemplo, um modelo recuperado pode ter o comportamento de um pilha, mas de uma pilha com capacidade infinita. Em um projeto pode ser necess´aria uma pilha com capacidade de dois elementos. O modelo foi recuperado do reposit´orio com o uso de especificac¸ ˜oes formais em l´ogica temporal mas ainda assim pode necessitar de adaptac¸˜oes para satisfazer um caso de uso espec´ıfico.

A t´ecnica de adaptac¸˜ao introduzida, definida, e desenvolvida em [43, 44, 42] ´e utilizada com o objetivo de realizar adaptac¸˜oes autom´aticas em modelos de redes de Petri coloridas. Essa t´ecnica consiste em: escrever propriedades em l´ogica temporal, que s˜ao restric¸˜oes de comportamento desejadas no modelo; verificar se o modelo pode ser adaptado de maneira a satisfazer tais propri- edades; em caso positivo adaptar o modelo em quest˜ao.

O primeiro passo est´a relacionado com a necessidade do projetista especificar, utilizando a linguagem ASK-CTL, quais s˜ao as restric¸˜oes que devem ser impostas ao modelo a ser utilizado. A verificac¸˜ao ´e realizada com verificac¸˜ao de modelos, como na recuperac¸˜ao. No caso da pos- sibilidade de adaptac¸˜ao, esta ´e realizada atrav´es de func¸˜oes implementadas no Design/CPN em CPN/ML [6].

No documento LeandroDiasdaSilva-TeseDoutorado (páginas 45-48)

Documentos relacionados