• Aucun résultat trouvé

viral entry and receptors involved

Dans le document dendritic cells (Page 38-43)

Porcine reproductive and respiratory syndrome virus

1.3 PRRSV replication

1.3.1 Attachment and entry

1.3.1.2 viral entry and receptors involved

A linguagem FIACRE (Format Interm´ediaire pour les Architec- tures de Composants R´epartis Embarqu´es - Formato Intermedi´ario para Arquiteturas de Componentes Distribu´ıdos Embarcados) ´e uma lin- guagem intermedi´aria formal para representar tanto os aspectos com- portamentais quanto temporais de sistemas, em particular os sistemas distribu´ıdos e embarcados, com a finalidade de verifica¸c˜ao formal e si- mula¸c˜ao. FIACRE ´e uma linguagem ass´ıncrona, orientada a processos que cont´em as seguintes no¸c˜oes:

• Processos descrevem o comportamento de componentes sequen- ciais. Um processo ´e definido como um conjunto de estados de controle, cada um associado com um peda¸co de programa formado por constru¸c˜oes determin´ısticas cl´assicas de linguagens de pro-

grama¸c˜ao (atribui¸c˜oes de vari´aveis, estruturas if-then-else, while, composi¸c˜oes sequenciais), constru¸c˜oes n˜ao-determin´ısticas (esco- lhas e atribui¸c˜oes n˜ao determin´ısticas), eventos de comunica¸c˜ao por portas e transi¸c˜oes para outros estados.

• Componentes descrevem a composi¸c˜ao de processos. Um com- ponente ´e definido como uma composi¸c˜ao paralela de componen- tes e/ou processos que se comunicam atrav´es de portas e vari´aveis compartilhadas. A no¸c˜ao de componente tamb´em permite res- tringir o modo de acesso e a visibilidade de vari´aveis comparti- lhadas e portas, associar restri¸c˜oes temporais `a comunica¸c˜ao, e definir prioridades nos eventos de comunica¸c˜ao.

FIACRE foi desenvolvido conjuntamente por v´arios parceiros, tanto da academia quanto da ind´ustria, no contexto do projeto TOP- CASED, como um framework para projetos envolvendo engenharia di- rigida a modelos. FIACRE foi projetada para ser uma linguagem in- termedi´aria formal entre as linguagens de modelagem de alto n´ıvel e as ferramentas de verifica¸c˜ao que trabalham com linguagens baseadas em formalismos matem´aticos (autˆomatos, redes de Petri, sistemas de transi¸c˜ao temporizados) (BERTHOMIEU et al., 2012).

A sintaxe da linguagem FIACRE ´e descrita da seguinte forma (SOUZA, 2010):

• Tipos: os tipos de dados aceitos s˜ao divididos em dois grupos - base e constru´ıdos. Os tipos de base s˜ao: inteiro (int), natu- ral (nat) e booleano (bool). Tipos espec´ıficos podem ser criados utilizando os tipos nativos: matrizes, uni˜oes, pilhas, enumera¸c˜oes etc.

• Portas e canais de comunica¸c˜ao: as portas (port) fazem parte da interface de um processo FIACRE. Elas s˜ao respons´aveis pela comunica¸c˜ao, que pode ser s´ıncrona ou n˜ao, e podem ser utiliza- das para a troca de dados. Os canais (channel ) s˜ao usados para definir um conjunto de tipos de dados aceitos por uma porta. Um perfil do tipo none sinaliza que a comunica¸c˜ao em quest˜ao ´e uma sincroniza¸c˜ao sem troca de valor.

• Processos: um processo FIACRE ´e uma m´aquina de estados composta por um conjunto finito de portas (sincroniza¸c˜ao com ou- tros componentes ou processos), um conjunto finito de parˆametros, um conjunto finito de estados para controle interno, um conjunto

finito de vari´aveis locais, um conjunto de transi¸c˜oes atˆomicas en- tre os estados. As transi¸c˜oes definem o comportamento do pro- cesso, sendo que cada transi¸c˜ao possui um estado de partida e outro de chegada, e seus corpos s˜ao formados por uma estrutura de controle.

• Componente: Um componente ´e composto por um conjunto fi- nito de portas, um conjunto finito de parˆametros, um conjunto finito de vari´aveis locais, um conjunto finito de portais locais as- sociadas a restri¸c˜oes temporais (s˜ao os canais de comunica¸c˜ao uti- lizados para interligar as instˆancias que comp˜oem o componente), um conjunto finito de prioridades, uma composi¸c˜ao paralela de instˆancias de processos (descreve a intera¸c˜ao entre as instˆancias que comp˜oem o componente).

• Composi¸c˜ao: a comunica¸c˜ao s´ıncrona presente em FIACRE ´e resultado da composi¸c˜ao paralela de um conjunto de instˆancias. A composi¸c˜ao promove um determinado tipo de comunica¸c˜ao de- pendendo do operador utilizado. A comunica¸c˜ao entre os proces- sos pode ser totalmente em paralelo, totalmente sincronizada ou com algumas a¸c˜oes sincronizadas.

Um programa FIACRE, para ser completo, necessita de um con- junto de tipos, canais de comunica¸c˜ao, processos e componentes. O C´odigo 4.11 apresenta um c´odigo de exclus˜ao m´utua entre 2 processos chamados de ¨proc¨. O processo inicia no estado ¨waitlock¨ e verifica se a se¸c˜ao cr´ıtica est´a liberada, o que ´e representado pela vari´avel com- partilhada “lock” possuindo valor 0. Se a se¸c˜ao cr´ıtica est´a liberada, o processo passa para o estado “waitlock2”, onde espera um tempo, defi- nido como o intervalo [0, 2], e tenta acessar a regi˜ao cr´ıtica escrevendo sua identifica¸c˜ao na vari´avel compartilhada “lock” e passando para o estado “setlock”. No estado “setlock” o processo espera um tempo de- finido no intervalo ]2, ... [ para ent˜ao passar para o estado “testlock”. No estado “testlock” o processo verifica se conseguiu acesso a regi˜ao cr´ıtica (vari´avel “lock” com sua identifica¸c˜ao). Caso n˜ao foi tenha con- seguido, o processo retorna ao estado “waitlock”, do contr´ario passa ao est˜ao “criticalSection” para realizar suas fun¸c˜oes. No componente “main” ´e feito a comunica¸c˜ao entre os processos por meio da vari´avel compartilhada “lock” e da composi¸c˜ao “par” entre dois processos do tipo “proc”.

1 t y p e i d i s 1 . . 2 t y p e l o c k i s 0 . . 2

p r o c e s s P roc ( p i d : i d , &l o c k : l o c k ) i s

5 s t a t e s WaitLock , WaitLock2 , S e t L o c k , TestLock , C r i t i c a l S e c t i o n from WaitLock on ( l o c k = 0 ) ; t o WaitLock2 from WaitLock2 10 w a i t [ 0 , 2 ] ; l o c k := p i d ; t o S e t L o c k from S e t L o c k w a i t ] 2 , . . . [ ; 15 t o T e s t L o c k from T e s t L o c k i f l o c k = p i d t h e n t o C r i t i c a l S e c t i o n e l s e 20 t o WaitLock end from C r i t i c a l S e c t i o n l o c k := 0 ; t o WaitLock 25 component Main i s v a r l o c k : l o c k := 0 p a r Pr oc ( 1 , &l o c k ) 30 | | Pr oc ( 2 , &l o c k ) end Main

C´odigo 4.1 – Exemplo de c´odigo FIACRE para exclus˜ao m´utua

Dans le document dendritic cells (Page 38-43)