UNIVERSIDADE FEDERAL DA PARAIBA
CENTRO DE CIENCIAS E TECNOLOGIA
DEPARTAMENTO DE SISTEMAS E COMPUTAQAO
COORDENAQAO DE POS-GRADUAQAO EM INFORMATICA
DISSERTAQAO DE MESTRADO
ESPECIFICAQAO DE COMPONENTES
PARA SlMULAQAO DE REDES TCP/IP
MARCUS ViNicius DA SILVA WAGNER
CAMPINA GRANDE-PB, BRASIL
AGOSTO DE 2 0 0 0
UNIVERSIDADE FEDERAL DA PARAJBA
CENTRO DE CIENCIAS E TECNOLOGIA
DEPARTAMENTO DE SISTEMAS E COMPUTAQAO
COORDENAQAO DE POS-GRADUAQAO EM INFORMATICA
MARCUS ViNicius DA SILVA WAGNER
ESPECIFICAQAO DE COMPONENTES
PARA SIMULAQAO DE REDES TCP/IP
Dissertagao submetida ao Curso de
P6s-Graduagao em Informatica no Departamento
de Sistemas e Computaqao do Centro de
Ciencias e Tecnologia da Universidade Federal
da Paraiba, em cumprimento as exig§ncias
para obtengao do grau de Mestre em
Informatica.
Area de Concentragao: Ciencia da Computacao
Sub-Area: Redes de Computadores
Orientadora: Maria Izabel Cavalcanti Cabral, D.Sc
ESPECIFICACAO DE COMPONENTES PARA SIMULACAO DE
REDES TCP/IP
M A R C U S V J W I C I U S D A S I L V A W A G N E R
DISSERTACAO APROVADA E M 25.08.2000
P R O P
P R O F . E L M A R U W E K U R T M E L C H E R , Dr.
E x a m i n a d o r
PROF. ARTURO HjERJyANDEZ DOMTNGUEZ, Dr.
Examinador
DEDICATORIA
Ventura Diversina Rosa Reinoldo
V
t)
v K t )Y
r
Maria Tereza Plinio
Martsi Lis
Marcus Vinicius
a Deus.
AGRADECIMENTOS
E m p r i m e i r o l u g a r a g r a d e c o a m i n h a o r i e n t a d o r a M a r i a I z a b e l C a v a l c a n t i C a b r a l q u e , c o m m a e s t r i a , s o u b e u s a r m e u s e r r o s p a r a m o s t r a r o c a m i n h o d o a p r e n d i z a d o , d a q u a l i d a d e d e t r a b a l h o e s o b r e t u d o d a i m p o r t a n c i a d o r e l a c i o n a m e n t o h u m a n o . - M u i t o O b r i g a d o P r o f e s s o r a . A V e r a e a A n i n h a q u e c o m b o m h u m o r e c a t e g o r i a s o u b e r a m c o n d u z i r m o m e n t o s d e nervosismo p o r p a r t e d o s a l u n o s , d e m o n s t r a n d o t o d a s u a a m i z a d e . D e v o a g r a d e c e r a s i n s t i t u i c o e s q u e e s t i v e r a m d i r e t a m e n t e l i g a d a s a e s t e m e t a a l c a n c a d a : A U F P B p e l a e s t r u t u r a f i s i c a e h u m a n a , a C A P E S p e l o s r e c u r s o s f i n a c e i r o s , e f i n a l m e n t e p a r a U N I R O N D O N q u e i n v e s t i u e i n c e n t i v o u a c o n c l u s a o d e s t e c u r s o . A o p r o f . M a r i o ( a m i g o q u e c o n h e c i n o T o c a n t i n s e e s c r e v e u uma d a s c a r t a s d e r e c o m e n d a c o e s d e i n g r e s s o n o m e s t r a d o ) e a o s p r o f e s s o r e s d o D S C q u e d e u m a f o r m a o u d e o u t r a c o l a b o r a r a m p a r a m e u c r e s c i m e n t o p e s s o a l e i n t e l e c t u a l , e m e s p e c i a l d e i x o m e u a b r a c o p a r a A r t u r o , E d i l s o n , P e t e r , M a r c u s S a m p a i o , J a c q u e s , A n t a o , U l r i c h , E l m a r , B e r n a r d o , H o m e r o , M a r c e l o B a r r o s , J o b e r t o , e a f i g u r a c a r i c a t a d o A g a m e n o n L o p e s . - V o c e s s a o p o n t o s d e r e f e r e n d a . N e s t e p e r i o d o d e C a m p i n a G r a n d e t i v e o p r a z e r d e c o n h e c e r t a n t o s a m i g o s q u e n e m s e i c o n t a r . A s b a i a n a s P a t h y e M i t e n a , D a n i a p o t i g u a r , C e n t a m a r a n h e n s e , C a c a o p a r a e n s e , E m y , G e r m a n a , K a r i n e , K a r i n a , Killer, D a l t o n , . . o s P a r a i b a n o s d e r o c h a , . . . t e n h o c e r t e z a n a s c r u z a d a s d a v i d a v a m o s n o s e n c o n t r a r . A G a u c h a d a g r e m i s t a A r t u r e M a u r i c i o e c o l o r a d o s F a b i a n o ( q u e e s c r e v e u u m a d a s c a r t a s d e r e c o m e n d a c a o a o m e u i n g r e s s o n o m e s t r a d o ) e S a u s e n q u e j a n o s c o n h e c i a m o s d e l j u i , s e i q u e e s t a r e m o s p r o n t o s p a r a o u t r a s j o r n a d a s e v i t o r i a s d o G r e m i o . D i l v a n e L u i z M a u r i c i o , a l e m d e a m i g o s t a m b e m c o m p a n h e i r o s d e " c h a t o " , j u n t a m e n t e c o m M a u r i c i o . V o c e s f o r a m f u n d a m e n t a l s n e s t a c a m i n h a d a . A o s a m i g o s d e C u i a b a , C r i s t i a n o e P a t r i c i a q u e a c o m p a n h a r a m m i n h a a g o n i a e l u t a f i n a l e m b u s c a d e s t a c o n q u i s t a , m e u m u i t o o b r i g a d o . A m i n h a a m i g a e c o l e g a J u l i a n a p e l a s h o r a s e m q u e e s t u d a m o s j u n t o s n a r e a l i z a c a o e s t e t r a b a l h o . A N a n a q u e e m i n h a m a e p a r a i b a n a . E n a o p o d e r i a d e i x a r d e a g r a d e c e r a o a l i c e r c e d e s t a c o n q u i s t a . - M i n h a f a m i l i a : m a e , p a i e a N a n a . S e i q u e e s t o u e s q u e c e n d o d e m u i t a g e n t e , m a s e s t o u c o m o s o l h o s c h e i o s d e l a g r i m a s , e c h e g o u o m o m e n t o d e l e v a n t a r a c a b e c a e s e g u i r m e u c a m i n h o .R E S U M O
O c r e s c i m e n t o d a I n t e r n e t e x i g e c o n t j n u a m e n t e i n v e s t i m e n t o s d i r e c i o n a d o s a e v o l u c a o d a t e c n o l o g i a T C P / I P . E s t u d o s e m s i s t e m a s d e r e d e s d e c o m p u t a d o r e s , c o m u m e n t e , u t i l i z a m a t e c n i c a d a S i m u l a c a o D i g i t a l . N e s s e c o n t e x t o , a m b i e n t e s d e s i m u l a c a o b a s e a d o s e m c o m p o n e n t e s d e s p o n t a m c o m o a l t e m a t i v a s q u e f a c i l i t a m a c o n s t r u c a o e a v a l i a c a o d e d e s e m p e n h o d e m o d e l o s d e r e d e s d e c o m p u t a d o r e s e m g e r a l . A a b o r d a g e m d e d e s e n v o l v i m e n t o o r i e n t a d o a c o m p o n e n t e s d e t e r m i n a q u e u m a a p l i c a c a o s e j a c o n s t i t u i d a a p a r t i r d e u m c o n j u n t o d e c o m p o n e n t e s i n t e r l i g a d o s . E s s a a b o r d a g e m e u m a e v o l u c a o n a t u r a l d a a b o r d a g e m d e o r i e n t a c a o a o b j e t o s , e m q u e u m c o m p o n e n t e c o r r e s p o n d e a u m c o n j u n t o d e c l a s s e s i n t e r - r e l a c i o n a d a s , c o m v i s i b i l i d a d e e x t e r n a l i m i t a d a . E s s a D i s s e r t a c a o d e M e s t r a d o a p r e s e n t a u m a e s p e c i f i c a c a o d e c o m p o n e n t e s v o l t a d a p a r a a m o d e l a g e m d e r e d e s T C P / I P . O s c o m p o n e n t e s s e a p r e s e n t a m g e n e r i c o s d e f o r m a a r e p r e s e n t a r a s f u n c i o n a l i d a d e s m i n i m a s d o s e l e m e n t o s b a s i c o s d e u m a r e d e T C P / I P , t a i s c o m o f o n t e s d e t r a f e g o , hosts, e n l a c e s e r o t e a d o r e s . E s s a e s p e c i f i c a c a o f o i f e i t a u t i l i z a n d o a L i n g u a g e m d e M o d e l a g e m U n i f i c a d a ( U M L ) e n f o c a n d o p r i n c i p a l m e n t e a f a s e p l a n e j a r e e l a b o r a r , a f a s e d e a n a l i s e e a f a s e d e p r o j e t o d e a l t o n i v e l ( p r o j e t o a r q u i t e t u r a l ) . A s d i v e r s a s f a s e s d o p r o c e s s o d e d e s e n v o l v i m e n t o d o c u m e n t a d a s n e s t a D i s s e r t a c a o p o d e m s e r r e u t i l i z a d a s n o d e s e n v o l v i m e n t o d e a m b i e n t e s d e s i m u l a c a o o r i e n t a d o s a c o m p o n e n t e s , c o m o t a m b e m p o d e m s e r r e u t i l i z a d a s n o d e s e n v o l v i m e n t o d e s i m u l a d o r e s e s p e c i f i c o s , a m b o s v o l t a d o s p a r a a m o d e l a g e m e a v a l i a c a o d e d e s e m p e n h o d e r e d e s d e c o m p u t a d o r e s c o m a t e c n o l o g i a T C P / I P .vi
A B S T R A C T
T h e g r o w t h o f t h e I n t e r n e t d e m a n d c o n t i n u o u s i n v e s t m e n t d i r e c t e d t o t h e e v o l u t i o n o f t h e T C P / I P t e c h n o l o g y . S t u d y o f t h e s y s t e m s o f t h e c o m p u t e r n e t w o r k s , c o m m o n l y , u s e t h e d i g i t a l s i m u l a t i o n t e c h n i q u e . I n t h i s c o n t e x t , e n v i r o n m e n t s o f s i m u l a t i o n b a s e d i n c o m p o n e n t s e m e r g e a s a l t e r n a t i v e s t h a t m a k e s e a s y t h e b u i l d a n d p e r f o r m a n c e e v a l u a t i o n o f t h e g e n e r a l c o m p u t e r n e t w o r k s m o d e l s . T h e a p p r o a c h t o C o m p o n e n t - O r i e n t e d s o f t w a r e d e v e l o p m e n t d e t e r m i n e t h a t a n a p p l i c a t i o n c a n b e b u i l d e d t h r o u g h a kit o f c o m p o n e n t s c o u p l e d . T h a t a p p r o a c h t o is a n a t u r a l e v o l u t i o n o f t h e a p p r o a c h t o o b j e c t - o r i e n t e d , o n t h a t a c o m p o n e n t c o r r e s p o n d t o a i n t e r - r e l a c i o n e d c l a s s e s kit w i t h l i m i t e d e x t e r n v i e w . T h a t m a s t e r d i s s e r t a t i o n p r e s e n t s a c o m p o n e n t s p e c i f i c a t i o n c o n c e r n t o t h e m o d e l i n g o f t h e T C P / I P n e t w o r k s . T h e c o m p o n e n t s a r e g e n e r i c s r e p r e s e n t i n g t h e m i n i m u m f u n c i o n a l i t i e s o f t h e T C P / I P n e t w o r k ' s b a s i c e l e m e n t s , s u c h a s t r a f f i c s o u r c e s , h o s t s , l i n k s a n d r o u t e r s . T h a t s p e c i f i c a t i o n w a s m a d e m a k i n g u s e o f U n i f i e d M o d e l i n g L a n g u a g e ( U M L ) f o c a l i z i n g m a i n l y t h e p l a n a n d e l a b o r a t e p h a s e , t h e a n a l y z e p h a s e a n d d e s i g n h i g h - l e v e l p h a s e ( a r c h i t e c t u r e d e s i g n ) . S e v e r a l p h a s e s o f d e v e l o p m e n t p r o c e s s d o c u m e n t e d i n t h i s d i s s e r t a t i o n c a n b e r e u s a b l e in t h e d e v e l o p m e n t o f t h e e n v i r o n m e n t o f t h e c o m p o n e n t - o r i e n t e d s i m u l a t o r , a s w e l l , c a n b e r e u s a b l e in t h e d e v e l o p m e n t o f t h e s p e c i f i c s i m u l a t o r s , b o t h c o n c e r n s t o t h e n e t w o r k p e r f o r m a n c e m o d e l i n g a n d e v a l u a t i o n w i t h t h e T C P / I P t e c h n o l o g y . v i iSUMARIO
1. I N T R O D U C A O 1 1.1. M O T I V A C A O 1 1.2. O B J E T I V O S 3 1.2.1. O B J E T I V O G E R A L 3 1.2.2. O B J E T I V O S E S P E C I F I C O S 3 1.3. R E L E V A N C I A 4 1.4. ORGANIZACAO D A D I S S E R T A C A O 5 2 . S I M U L A C A O D I G I T A L - U M A A B O R D A G E M 6 2 . 1 . INTRODUCAO 6 2.2. S I M U L A C A O D I G I T A L 7 2.3. M E T O D O L O G I A PARA E S T U D O S D E S I M U L A C A O 8 2 . 3 . 1 . F O R M U L A C A O DO P R O B L E M A 9 2.3.2. E S P E C I F I C A C A O FUNCIONAL D O SISTEMA E DA S I M U L A C A O 11 2.3.3. F O R M U L A C A O E C O N S T R U C A O DO M O D E L O 11 2.3.4. V E R I F I C A C A O 12 2.3.5. V A L I D A C A O 12 2.3.6. A N A L I S E 12 2.3.7. A P R E S E N T A C A O E P R E S E R V A C A O DOS R E S U L T A D O S 12 2.4. SIMULACAO O R I E N T A D A A O B J E T O S 12 2.5. A M B I E N T E S D E S I M U L A C A O 16 2 . 5 . 1 . A M B I E N T E S A V A D 16 2 . 5 . 2 . 0 A M B I E N T E A R E N A 17 3 . C A M A D A I N T E R N E T 21 3 . 1 . FUNCIONALIDADES D A C A M A D A I N T E R N E T 21 3.2. E N D E R E C O S INTERNET 25 3 . 2 . 1 . E N D E R E C O S I P V 4 25 3.2.2. C L A S S L E S S INTERNET DOMAIN R O U T I N G - C I D R 26 3.2.3. E N D E R E C O S I P V 6 26 3.3. R O T E A M E N T O D E M E N S A G E N S 29 3 . 3 . 1 . INTRODUCAO 29 3.3.2. U N I C A S T F O R W A R D I N G 31 3.3.3. B R O A D C A S T FORWARDING 31 3.3.4. M U L I C A S T F O R W A R D I N G 31 3.4. E N V I O D E MENSAGENS D E C O N T R O L E E D E E R R O S 33 3 . 4 . 1 . I N T E R N E T C O N T R O L M E S S A G E P R O T O C O L - I C M P 33 3.4.2. INTERNET G R O U P M A N A G E M E N T P R O T O C O L - I G M P 34 3.4.3. INTERNET C O N T R O L M E S S A G E P R O T O C O L PARA I P V 6 - I C M P v 6 35 3.5. E S T R A T E G I A S PARA M I G R A C A O DO I P v 4 PARA I P V 6 36 4. E S P E C I F I C A C A O D E C O M P O N E N T E S D E R E D E S T C P / I P 3 8 4 . 1 . INTRODUCAO 39 4 . 1 . 1 . A A R T E D E DOCUMENTAR 39 4.2. DOMINIO DO P R O B L E M A 40 4 . 2 . 1 . U S U A R I O A L V O 41 4.2.2. M E T A S PARA S O L U C A O D O P R O B L E M A 41 4.2.3. L E V A N T A M E N T O D E REQUISITOS 41 4.2.4. D I A G R A M A U S E - C A S E 43 4.3. F A S E D E A N A L I S E 46 4 . 3 . 1 . D I A G R A M A D E C O N C E I T O S 4? 4.3.2. DIAGRAMAS D E S E Q U E N C I A 49 4.3.3. D I A G R A M A S D E E S T A D O S 52 4.4. F A S E D E PROJETO 53 v i i i4 . 4 . 1 . PROJETO ARQUFTETURAI 53 4 . 4 . 2 . PROJETO D E T A L H A D O 5 7 4.5. G L O S S A R I O D E C O N C E I T O S R E L E V A N T E S 74 5. C O N C L U S O E S E S U G E S T O E S 7 8 5.1. C O N C L U S O E S 7 8 5.2. S U G E S T O E S PARA T R A B A L H O S FUTUROS 81 6. R E F E R E N C I A S B I B L I O G R A F I C A S 8 2 A . A R Q U I T E T U R A D E R E D E S T C P / I P 8 7 A . 1. A R Q U / T E T U R A T C P / I P 88 A . 2. PADRONIZACAO I N T E R N E T 9 0 B . P R O T O C O L O S D E R O T E A M E N T O D I N A M I C O 9 1 B . l . PROTOCOLOS D E R O T E A M E N T O U N I C A S T 91
BAA. Routing Information Protocol - RIP 91
B.l.2. Open Shortest Path First - OSPF 92
B.l. 3. Border Gateway Protocol -BCP. 94
B . 2. PROTOCOLOS D E R O T E A M E N T O M U L T I C A S T 9 5
B.2.1. Distance Vector Multicast Routing Protocol (DVMRP) 95
B.2.2. MOSPF - Multicast Extension OSPF 96
B.2.3. Outros Protocolos Multicast 98
C . A L G O R I T M O S D E R O T E A M E N T O 9 9C . 1. A L G O R I T M O V E T O R DE D I S T A N C I A ( D I S T A N C E V E C T O R A L G O R I T H M ) 1 0 0 C . 2 . A L G O R I T M O E S T A D O DO E N L A C E ( L I N K S T A T E A L G O R I T H M ) 101
D . A C R O N I M O S N >3
L l S T A D E I L U S T R A C O E S
FLGURA 2 . 1 : A T I V I D A D E S D O E S T U D O D E SRMULACAO 9 FLGURA 2.2: INFORMACOES UTILIZADAS N O ES TUDO D E S I M U L A C A O 10
F I G U R A 2 . 3 : E S T R U T U R A H I E R A R Q U I C A DO A R E N A [ K E L T O N , 98 ] 18 F l G U R A i . l : C A B E C A L H O D O DATAGRAMAIPv4 [COMER, 9 5 ] 22 FlGURA 3.2: C A B E C A L H O DO DATAGRAMA I P v 6 [ D E E R I N G , 9 8 B ] 23 F I G U R A 3.3: C A M A D A I N T E R N E T D A A R Q U I T E T U R A T C P / I P 24 F I G U R A 3.4: A s 5 C L A S S E S D E E N D E R E C O S I N T E R N E T [ C O M E R , 9 5 ] 25 F I G U R A 3.5: C O N V E N C A O D E E N D E R E C O S I P V 4 [ C O M E R , 9 5 ] 2 6 T A B E L A 3 . 1 : A T R I B U I C O E S D E E N D E R E C O S MULTICAST [ M O Y , 9 8 ] 2 6 F I G U R A 3.6: F O R M A T O DO E N D E R E C O [ C O M E R , 9 5 ] 27 T A B E L A 3.2: D E S C R I C A O DO C A M P O E S C O P O DO E N D E R E C O MULTICAST COM S E U S R E S P E O T V O S V ADORES. . . . 2 7
T A B E L A 3.3: Trpos D E E N D E R E C O S A S E R E M SUPORTADOS POR HOSTS E R O T E A D O R E S 2 8 F I G U R A 3.7: H I E R A R Q U I A D E E N D E R E C O S I P v 6 PARA P R O V E D O R E S D E A C E S S O A R E D E [ C O M E R , 9 5 ] 28
F I G U R A 3.8: SISTEMAS AUTONOMOS INTERLIGADOS 30 F I G U R A 3.9: R E P R E S E N T A C A O DO A L G O R I T M O D E R O T E A M E N T O I P APRESENTADO E M [ C O M E R , 95] 31
F I G U R A 3.10: R E P R E S E N T A C A O DO ALGORrrMO FORWARD MULTICAST. 33 T A B E L A 3.4: PRINCIPALS M E N S A G E N S I C M P PARA I P V 4 [ C O M E R , 9 5 ] 33
T A B E L A 3.5: PRINCIPALS M E N S A G E N S I C M P V 6 36 F I G U R A 4 . 1 : E X E M P L O D E CENARIO D E UMA R E D E T C P / I P 4 0
T A B E L A 4 . 1 : C A T E G O R I A S D E FUNCIONALIDADES DOS REQUISLTOS FUNCIONAIS[LARMAN, 9 8 ] 4 2
T A B E L A 4.2 : D E S C R I C A O DOS R E Q U I S I T O S FUNCIONAIS E N A O - F U N C I O N A I S 43
F I G U R A 4.2 : D I A G R A M A USE-CASE A C A M A D A I P 44 T A B E L A 4.3: SUBSTANTIVOS CANDIDATOS A CONCEITOS 47 F I G U R A 4.3: D I A G R A M A D E C O N C E I T O S A B R A N G E N T E 48 F I G U R A 4 . 4 - . D I A G R A M A D E C O N C E I T O S S I M P U F I C A D O 4 9 F I G U R A 4.5: D I A G R A M A D E S E Q U E N C I A : R E C E B E R E REPASSAR D A T A G R A M A S 50 F I G U R A 4 . 6 : D I A G R A M A D E S E Q U E N C I A : M A N U T E N C A O DA T A B E L A DE R O T E A M E N T O 51 F I G U R A 4 . 7 : D I A G R A M A D E E S T A D O S : COMPONENTE (CONCEITO) R O T E A D O R 52 F I G U R A 4.8: M O D E L O A R Q U I T E T U R A L 5 4 F I G U R A 4.9: COMPOSICAO DOS COMPONENTES R O T E A D O R E HOST. 56
F I G U R A 4.1 0:COMUNICACAO D E U M A R E D E T C P / I P 57 F I G U R A 4 . 1 1 - . COMPONENTE I N T E R F A C E 58 F I G U R A 4 . 1 2 : FRAMEWORK D E COMPONENTES DA C A M A D A I N T E R N E T 60 F I G U R A 4 . 1 3 : COMPONENTE C A M A D A I N T E R N E T 61 F I G U R A 4.14: COMPONENTE IP 62 F I G U R A 4.15. COMPONENTE P R O T O C O L O M E N S A G E M D E C O N T R O L E E E R R O S 63 F I G U R A 4.16: COMPONENTE P R O T O C O L O D E R O T E A M E N T O 64 F I G U R A 4.17: COMPONENTE T A B E L A D E R O T E A M E N T O 6 5 F I G U R A 4 . 1 8 : COMPONENTE M E N S A G E M 66 F I G U R A 4.19: COMPONENTE HOST. 6 7 F I G U R A 4.20: COMPONENTE F O N T E T R A F E G O 6 9 F I G U R A 4 . 2 1 : COMPONENTE S O R V E D O U R O 70 F I G U R A 4.22 : COMPONENTE E N L A C E 71 F I G U R A 4 . 2 3 : COMPONENTE R O T E A D O R 72 F I G U R A A . 1: A R Q U I T E T U R A D E R E D E S D E C O M P U T A D O R E S 87 F I G U R A A . 1-. A R Q U I T E T U R A T C P / I P 88 F I G U R A A . 3 : A ESTRUTURA DA I A B APOS REORGANIZACAO E M 1.989 [ C O M E R 9 5 ] 9 0
CAPITULO 1
1. Introducao
E s t e c a p i t u l o c o n t e x t u a l i z a e s t a D i s s e r t a c a o d e M e s t r a d o c o m o u m t o d o . N e l e , a p r e s e n t a -s e , i n i c i a l m e n t e , a m o t i v a c a o p a r a a r e a l i z a c a o d e -s t e t r a b a l h o . E m -s e g u i d a , a p r e -s e n t a m - -s e o -s o b j e t i v o s d e s s a d i s s e r t a g a o e a s u a r e l e v a n c i a . F i n a l m e n t e , a p r e s e n t a m - s e a o r g a n i z a c a o d o s d e m a i s c a p i t u l o s e o s a p e n d i c e s q u e c o m p o e e s t a D i s s e r t a c a o .1.1. M o t i v a c a o
O c r e s c i m e n t o c o n t i n u o d a I n t e r n e t o b r i g a n o v o s i n v e s t i m e n t o s d i r e c i o n a d o s a t e c n o l o g i a T C P / I P (Transmisson Control Protocol!Internet Protocol) p a r a a t e n d e r a d e m a n d a s e m p r e c r e s c e n t e d e s e r v i c o s , v o l t a d o s a s a p l i c a c o e s m a i s c o m p l e x a s ( m u l t i m i d i a , t e m p o r e a l , e t c . ) , e x i g i d a s p o r s e u s u s u a r i o s [ T a n e n b a u m , 9 7 ] [ C o m e r , 9 5 ] . U m a r e d e c o m t e c n o l o g i a T C P / I P e c a r a c t e r i z a d a p o r u m a a r m a g a o t o p o l o g i c a c o m p o s t a p o r h o s t s e r o t e a d o r e s i n t e r c o n e c t a d o s p o r e n l a c e s f i s i c o s q u e t r a n s p o r t a m u n i d a d e s d e i n f o r m a c a o . O s hosts c o m p o r t a m a s a p l i c a g o e s d o s u s u a r i o s . O s r o t e a d o r e s s a o r e s p o n s a v e i s p e l o e n c a m i n h a m e n t o d e i n f o r m a c o e s ( d a t a g r a m a s I P ) e n t r e r e d e s i n t e r c o n e c t a d a s , v i a b i l i z a n d o q u e u m a i n f o r m a c a o g e r a d a e m u m a r e d e p o s s a c h e g a r a t e hosts l o c a l i z a d o s e m r e d e s d i f e r e n t e s . P a r a i s s o , o s r o t e a d o r e s d e v e m t e r c o n h e c i m e n t o d a t o p o l o g i a d a r e d e e d a s r o t a s u t i l i z a d a s p a r a e n c a m i n h a r a s i n f o r m a c o e s o u s i m p l e s m e n t e t e r u m c a m i n h o p a d r a o d e f i n i d o p e l o g e r e n t e d a r e d e . 1A g r a n d e a b r a n g e n c i a d a I n t e r n e t t r a z d e s a f i o s p a r a o s p r o j e t i s t a s d e r e d e s d e c o m p u t a d o r e s q u e b u s c a m v i a b i l i z a r s i s t e m a s d e c o m u n i c a c a o q u e o t i m i z e m a u t i l i z a g a o d a largura d e b a n d a d o s c a n a i s d e comunicacao, u r i l i z a n d o e f i c i e n t e m e n t e o s m e i o s d e c o m u n i c a c a o . N e s s e s e n t i d o , d e s t a c a - s e a c o m u n i c a c a o multicast, n a q u a l u m u s u a r i o d e u m a r e d e d e c o m p u t a d o r e s e n v i a i n f o r m a c o e s p a r a u m g r u p o d e u s u a r i o s . N e s s e t i p o d e c o m u n i c a c a o o f l u x o d e i n f o r m a g o e s g e r a d o p o r u m a d e t e r m i n a d a o r i g e m , a t i n g e u m o u m a i s hosts a s s o c i a d o s a u m g r u p o d e d e s t i n o , f a z e n d o c o m q u e n a o t r a n s i t e m p a c o t e s i d e n t i c o s p e l o m e s m o e n l a c e e r e p l i c a n d o - o s somente q u a n d o n e c e s s a r i o [ T a n e n b a u m , 9 7 ] [ C o m e r , 9 5 ] . A r e a l i z a g a o d e e s t u d o s p e r t i n e n c e s a s r e d e s d e c o m p u t a d o r e s n a o e t r i v i a l , d e v i d o a g a m a d e a s p e c t o s e n v o l v i d o s e a s i m u l t a n e i d a d e e m q u e e v e n t o s o c o r r e m n o s d i v e r s o s n o s (hosts e r o t e a d o r e s ) p r e s e n t e s e m u m a r e d e . D e s t a f o r m a , e c o m u m a b u s c a p o r s o l u g o e s a t r a v e s d e t e c n i c a s d e a v a l i a g a o d e d e s e m p e n h o . P a r a v i a b i l i z a r e s t u d o s d e m o d e l a g e m e d e a v a l i a c a o d e d e s e m p e n h o d i r e c i o n a d o s a o s S i s t e m a s d e R e d e s d e C o m p u t a d o r e s , e m p a r t i c u l a r , r e d e s d e c o m p u t a d o r e s c o m a t e c n o l o g i a T C P / I P , a t e c n i c a d a S i m u l a c a o D i g i t a l s e f a z g e r a l m e n t e p r e s e n t e [ K r o n b a u e r , 9 8 ] . D o p o n t o d e v i s t a p r a t i c o , a S i m u l a g a o D i g i t a l c o n s t i t u i - s e n o p r o j e t o e c o n s t r u g a o d e m o d e l o s c o m p u t a d o r i z a d o s d e s i s t e m a s r e a i s e p r o p o s t o s , v i s a n d o c o m p r e e n d e r s e u s c o m p o r t a m e n t o s e m u m c o n j u n t o d e s i t u a g o e s e s p e c i f i c a s [ K e l t o n , 9 8 ] . A E n g e n h a r i a d e S o f t w a r e e u m a s u b a r e a d a C i e n c i a d a C o m p u t a g a o q u e b u s c a m e i o s s i s t e m a t i c o s p a r a a m a x i m i z a g a o d a q u a l i d a d e ( c a r a c t e r i s t i c a s d e s e j a v e i s ) e d a p r o d u t i v i d a d e ( a g i l i d a d e ) n a a t i v i d a d e d e d e s e n v o l v i m e n t o d e s o f t w a r e . Ela a p o i a o d e s e n v o l v i m e n t o d e a p l i c a r i v o s e m d i v e r s a s o u t r a s a r e a s , t a i s c o m o s i s t e m a s o p e r a c i o n a i s , r e d e s d e c o m p u t a d o r e s e a v a l i a c a o d e d e s e m p e n h o ( s i m u l a g a o d i g i t a l ) [ S i l v a , 0 0 ] . A a b o r d a g e m d e d e s e n v o l v i m e n t o o r i e n t a d o a c o m p o n e n t e s d e t e r m i n a q u e u m a a p l i c a g a o s e j a c o n s t i t u i d a a p a r t i r d e u m c o n j u n t o d e c o m p o n e n t e s i n t e r l i g a d o s . E s s a a b o r d a g e m e u m a e v o l u g a o n a t u r a l d a a b o r d a g e m d e o r i e n t a g a o a o b j e t o s , e m q u e u m c o m p o n e n t e c o r r e s p o n d e a u m c o n j u n t o d e c l a s s e s i n t e r - r e l a c i o n a d a s , c o m v i s i b i l i d a d e e x t e r n a l i m i t a d a [ S i l v a , 0 0 ] . A m b i e n t e s d e s i m u l a g a o b a s e a d o s e m c o m p o n e n t e s d e s p o n t a m c o m o a l t e r n a t j v a s q u e f a c i l i t a m a c o n s t r u g a o e a v a l i a c a o d e d e s e m p e n h o d e s i s t e m a s e m g e r a l . U m e x e m p l o d e u m a m b i e n t e d e s i m u l a c a o o r i e n t a d o a c o m p o n e n t e s e o A r e n a [ K e l t o n , 9 8 ) , q u e s e a p r e s e n t a a t r a e n t e c o m r e c u r s o s g r a f i c o s q u e v i a b i l i z a m , c o m f a c i l i d a d e , a c o n s t r u g a o e a s i m u l a g a o d e m o d e l o s q u e r e p r e s e n t a m s i s t e m a s d i s c r e t o s e m g e r a l . U m a d e f i n i c a o g e r a l d e c o m p o n e n t e f o i d a d a p o r [ D ' S o u z a , 9 8 ] : c o m p o n e n t e e u m p a c o t e
coerente de artefatos de software que pode ser desenvolvido independentemente e entregue como unidade e que pode ser composto, sem mudanca, com outros componentes para construir algo maior.
U s a n d o e s s a d e f i n i g a o , u m c o m p o n e n t e p o d e i n c l u i r c o d i g o e x e c u t a v e l , c o d i g o f o n t e , p r o j e t o s , e s p e c i f i c a c o e s , t e s t e s , d o c u m e n t a g a o , e t c . E m t e n m o s d e i m p l e m e n t a g a o , s e g u n d o [ D ' S o u z a , 9 8 ] , um componente e um pacote coerente de implementacao de software que:
* p o d e s e r d e s e n v o l v i d o i n d e p e n d e n t e m e n t e e e n t r e g u e c o m o u n i d a d e ; » Vem i n t e r f a c e s e x p l i c i t a s e b e m d e f i n i d a s p a r a o s s e r v i c o s q u e o f e r e c e ; * tern i n t e r f a c e s e x p l i c i t a s e b e m d e f i n i d a s p a r a o s s e r v i c o s q u e r e q u e r ;
» p o d e s e r c o m p o s t o de outros componentes, t a l v e z a p o s a customizagao de a l g u m a s p r o p r i e d a d e s , m a s s e m m o d i f i c a r o s c o m p o n e n t e s e m s i . C o n s t r u i r f e r r a m e n t a s b a s e a d a s e m c o m p o n e n t e s p a r a a s i m u l a g a o d e m o d e l o s d e r e d e s d e c o m p u t a d o r e s p o d e n a o s e r u m a t a r e f a s i m p l e s . A e x p e r i e n c i a c o m p r o v a q u e d u r a n t e o p r o c e s s o d e d e s e n v o l v i m e n t o n o r m a l d e q u a l q u e r p r o d u t o d e s o f t w a r e , a s f a s e s d e a n a l i s e ( d e s c r i g a o d o p r o b l e m a ) e d e p r o j e t o ( d e s c r i g a o d a s o l u c a o ) s a o a s m a i s i m p o r t a n t e s e c o n s o m e m a m a i o r p a r t e d o t e m p o [ L u l a , 0 0 ] [ L a n d i n , 9 8 ] . P a r a r e d u z i r e f e t i v a m e n t e o t e m p o g a s t o d u r a n t e o d e s e n v o l v i m e n t o d e u m a a p l i c a g a o , e p r e c i s o f o r n e c e r n a o s o r e u t i l i z a c a o d e c o d i g o , m a s t a m b e m a p a r t e d e a n a l i s e e d e p r o j e t o , d e m o d o a r e u t i l i z a r o c o n h e c i m e n t o e m p r e g a d o e a s p r i n c i p a l s d e c i s o e s t o m a d a s d u r a n t e e s t a s e t a p a s [ F r e i r e , 0 0 ] .
1.2. Objetivos
1.2.1. Objetivo Geral
E l a b o r a r u m a e s p e c i f i c a g a o d e c o m p o n e n t e s v o l t a d o s p a r a a m o d e l a g e m d e r e d e s T C P / I P . O s c o m p o n e n t e s p r o p o s t o s d e v e m s e r g e n e r i c o s d e f o r m a a r e p r e s e n t a r a s f u n c i o n a l i d a d e s m i n i m a s d o s e l e m e n t o s b a s i c o s d e u m a r e d e T C P / I P , t a i s c o m o f o n t e s d e t r a f e g o , hosts, e n l a c e s e r o t e a d o r e s . E s s a e s p e c i f i c a g a o d e c o m p o n e n t e p o d e r a s e r r e u t i l i z a d a e m p r o j e t o s d e a m b i e n t e s d e s i m u l a g a o o r i e n t a d o s a c o m p o n e n t e s v o l t a d o s p a r a a m o d e l a g e m e a v a l i a c a o d e d e s e m p e n h o d e r e d e s d e c o m p u t a d o r e s , c o m o t a m b e m , p o d e r a s e r r e u t i l i z a d a e m a m b i e n t e s c o n h e c i d o s c o m o o A r e n a , p e r m i t i n d o t a n t o a c o n s t r u g a o d e s i m u l a d o r e s e s p e c i f i c o s , q u a n t a a c o n s t r u g a o d e n o v o s c o m p o n e n t e s a s e r e m i n t e g r a d o s a e s t e s a m b i e n t e s .1.2.2. Objetivos Especificos
•S R e a l i z a r e s t u d o s o b r e a r q u i t e t u r a s d e r e d e s d e c o m p u t a d o r e s , p r i n c i p a l m e n t e s o b r e a t e c n o l o g i a T C P / I P ; S E s t u d a r c o m d e t a l h e s a s f u n c i o n a l i d a d e s d a c a m a d a i n t e r n e t d a a r q u i t e t u r a T C P / I P , i d e n t i f i c a n d o s e u s e l e m e n t o s b a s i c o s , j u n t a m e n t e c o m o s r e l a c i o n a m e n t o s e n t r e e l e s ;^ E s t u d a r a t e c n i c a d a S i m u l a c a o D i g i t a l e f e r r a m e n t a s d e s i m u l a g a o v o l t a d a s p a r a a a v a l i a c a o d e d e s e m p e n h o d e r e d e s d e c o m p u t a d o r e s ; E s t u d a r a s t e c n i c a s u t i l i z a d a s p e l a e n g e n h a r i a d e s o f t w a r e p a r a d e s e n v o l v i m e n t o d e c o m p o n e n t e s d e s o f t w a r e ; » P r o p o r u m a e s p e c i f i c a g a o d e c o m p o n e n t e s d e s o f t w a r e g e n e r i c o s , q u e r e p r e s e n t e m a s f u n c i o n a l i d a d e s m i n i m a s d o s e l e m e n t o s d e u m a r e d e T C P / I P . E s s a e s p e c i f i c a g a o d e v e s e r f e i t a u t i l i z a n d o a L i n g u a g e m d e M o d e l a g e m U n i f i c a d a ( U M L ) [ F o w l e r , 9 7 ] [ L a r m a n , 9 8 ] , s e g u i n d o u m p r o c e s s o d e d e s e n v o l v i m e n t o a p r e s e n t a d o e m [ L a r m a n , 9 8 ] , e n f o c a n d o a f a s e p l a n e j a r e e l a b o r a r , a f a s e d e a n a l i s e e a f a s e d e p r o j e t o d e a l t o n i v e l ( p r o j e t o a r q u i t e t u r a l ) .
1.3. Relevancia
E s s a D i s s e r t a g a o a p r e s e n t a u m a e s p e c i f i c a g a o d e c o m p o n e n t e s q u e r e p r e s e n t a m e l e m e n t o s d a t e c n o l o g i a T C P / I P e m u m a l i n g u a g e m d e m o d e l a g e m b a s t a n t e d i f u n d i d a ( U M L ) . E s s a e s p e c i f i c a g a o p o s s i b i l i t a q u e p r o f i s s i o n a i s d e I n f o r m a t i c a , p r i n c i p a l m e n t e a n a l i s t a s d e m o d e l a g e m e d e s e n v o l v e d o r e s d e s o f t w a r e s d e s i m u l a g a o p a r a r e d e s d e c o m p u t a d o r e s , p o s s a m r e u t i l i z a - l a s e m s e u s p r o j e t o s e s p e c i f i c o s . O b s e r v a - s e q u e , e m b o r a a t e c n o l o g i a T C P / I P s e j a m u i t o c o n h e c i d a e d i f u n d i d a , n a o f o i e n c o n t r a d o n a l i t e r a t u r a e s p e c i a l i z a d a c o n s u l t a d a , e s t u d o s d i r e c i o n a d o s a m o d e l a g e m d e s s a t e c n o l o g i a u s a n d o a a b o r d a g e m O r i e n t a d a a o b j e t o s . E x i s t e m a m b i e n t e s d e s i m u l a c a o , c o m o p o r e x e m p l o o A r e n a [ K e l t o n , 9 8 ] e o S A V A D [ C a b r a l , 9 3 ] ( u t i l i z a d o s e m e s t u d o s d e a v a l i a g a o d e d e s e m p e n h o d o G r u p o d e R e d e s d e C o m p u t a d o r e s d a U F P B ) , q u e s a o o r i e n t a d o s a c o m p o n e n t e s . E m b o r a e s s e s a m b i e n t e s s e j a m p a s s i v e i s a a g r e g a g a o d e n o v a s f u n c i o n a l i d a d e s , e l e s n a o d e t e m m e c a n i s m o s e x p l i c i t o s p a r a a m o d e l a g e m d e r e d e s T C P / I P . N e s s e c o n t e x t o , a d o c u m e n t a g a o g e r a d a p o r e s t a d i s s e r t a g a o s e r v e c o m o p o n t o d e p a r t i d a p a r a i m p l e m e n t a g a o d a s f u n c i o n a l i d a d e s b a s i c a s d a t e c n o l o g i a T C P / I P e m tais a m b i e n t e s d e s i m u l a g a o o u m e s m o e m o u t r o s a m b i e n t e s e m d e s e n v o l v i m e n t o q u e s e j a m orientados a c o m p o n e n t e s . E s t a d o c u m e n t a g a o b u s c a i n r e r c a l a r n o t a g o e s i n f o r m a i s , s e m i - f o r m a i s e f o r m a i s , s o b f o r m a d e n a r r a t i v a s , f i g u r a s , d i a g r a m a s , t a b e l a s , e t c . , o q u e facilita a c o m p r e e n s a o t a n t o d a e s p e c i f i c a g a o e m s i q u a n t o d o f u n c i o n a m e n t o d a c a m a d a i n t e r n e t . H a j a v i s t o q u e a sRequest For Comments ( R F C ) d a p u b l i c a d a s p e l a Internet Engineering Task Force ( I E T F ) tern
s i d o p u b l i c a d a s e m m o d o t e x t o , s e m u t i l i z a g a o d e u m a l i n g u a g e m s e m i - f o r m a l o u f o r m a l , o q u e
dificulta a compreensao dos protocols que e s r a o s e n d o e s p e c i f i c a d o s .
O f a t o d a a b s t r a g a o d o s e l e m e n t o s d e r e d e s T C P / I P t e r s i d o b a s e a d a n o p a r a d i g m a o r i e n t a g a o a o b j e t o s , p r o p i c i a a u t i l i z a g a o d e u m a a b o r d a g e m v o l t a d a a o r e u s o , p o s s i b i l i t a n d o q u e s e a l c a n c e m a i o r p r o d u t i v i d a d e , q u a l i d a d e e e c o n o m i a d o s i s t e m a ( s o f t w a r e ) , a s e r d e s e n v o l v i d o : p r o d u t i v i d a d e , p o r q u e s e r a m i n i m i z a d a u m a d a s e t a p a s m a i s d i s p e n d i o s a s d o p r o c e s s o d e d e s e n v o l v i m e n t o , a e s p e c i f i c a g a o d o s i s t e m a ; q u a l i d a d e , p o r q u e p a r t i n d o d e u m a e s p e c i f i c a g a o e x i s t e n t e p o d e - s e r e a l i z a r u m n u m e r o m a i o r d e r e f i n a m e n t o s n o s i s t e m a ; e e c o n o m i a , d e v i d o a 4
m i n i m i z a c a o d o t e m p o a s e r d e s p e n d i d o . E s t e p a r a d i g m a t a m b e m p e r m i t e q u e n o v a s f u n c i o n a l i d a d e s s e j a m a g r e g a d a s c o m f a c i l i d a d e s a o s i s t e m a e m d e s e n v o l v i m e n t o . F i n a l m e n t e , h a u m a i n t e r s e c a o d e t r e s a r e a s d e p e s q u i s a e n v o l v i d a s n e s t e e s t u d o : R e d e s d e C o m p u t a d o r e s , M o d e l a g e m e A v a l i a c a o d e D e s e m p e n h o e E n g e n h a r i a d e S o f t w a r e . I s t o c a r a c t e r i z a a m u l t i d i s c i p l i n a r i d a d e , a s p e c t o i m p o r t a n t e e m u m t r a b a l h o a n i v e l d e m e s t r a d o .
1.4. Organizacao da Dissertagao
E s t a d i s s e r t a c a o e s t a o r g a n i z a d a e m 0 5 c a p i t u l o s e 0 4 a p e n d i c e s . S e g u e m , d e f o r m a r e s u m i d a , o s c o n t e u d o s d o s d e m a i s c a p i t u l o s e a p e n d i c e s d e s t a D i s s e r t a g a o : O c a p i t u l o 2 a p r e s e n t a a t e c n i c a d a S i m u l a c a o D i g i t a l , m o s t r a n d o c o m o e s t a s e a p l i c a e m e s t u d o s d e m o d e l a g e m e d e a v a l i a g a o d e d e s e m p e n h o d e s i s t e m a s d i s c r e t o s , n o s q u a i s r e d e s d e c o m p u t a d o r e s s e i n s e r e m . O c a p i t u l o 3 a p r e s e n t a u m e s t u d o d a c a m a d a i n t e r n e t d a t e c n o l o g i a T C P / I P . O c a p i t u l o 4 a p r e s e n t a a e s p e c i f i c a g a o d e c o m p o n e n t e s q u e r e p r e s e n t a m e l e m e n t o s b a s i c o s d e u m a r e d e T C P / I P . E s s a e s p e c i f i c a g a o f o i f e i t a u t i l i z a n d o a L i n g u a g e m d e M o d e l a g e m U n i f i c a d a ( U M L ) , s e g u i n d o u m p r o c e s s o d e d e s e n v o l v i m e n t o a p r e s e n t a d o e m [ L a r m a n , 9 8 ] , e n f o c a n d o a f a s e p l a n e j a r e e l a b o r a r , a f a s e d e a n a l i s e e a f a s e d e p r o j e t o d e a l t o n i v e l ( p r o j e t o a r q u i t e t u r a l ) . O c a p i t u l o 5 a p r e s e n t a c o n s i d e r a g o e s f i n a i s s o b r e o t r a b a l h o d e s e n v o l v i d o n e s t a D i s s e r t a g a o , c o m o t a m b e m s u g e s t o e s d e c o n t i n u i d a d e d e s t a . O A p e n d i c e A c o n s t i t u i - s e d e u m e s t u d o p r e v i o a o c a p i t u l o 3, a p r e s e n t a n d o u m e s t u d o s o b r e a r q u i t e t u r a d e r e d e s d e c o m p u t a d o r e s v o l t a n d o p a r a a t e c n o l o g i a T C P / I P . O s A p e n d i c e B e C c o n s t i t u e m - s e d e e s t u d o s c o m p l e m e n t a r e s a o c a p i t u l o 3, a p r e s e n t a n d o , r e s p e c t j v a m e n t e , e x e m p l o s d e p r o t o c o l o s e a l g o r i t m o s d e r o t e a m e n t o . F i n a l m e n t e , o A p e n d i c e D a p r e s e n t a o s a c r o n i m o s u s a d o s n e s t a D i s s e r t a g a o .Capitulo 2
2. S i m u l a g a o Digital - u m a a b o r d a g e m
E s t e c a p i t u l o i n t r o d u z a t e c n i c a d a S i m u l a c a o D i g i t a l e a s u a a p l i c a b i l i d a d e e m e s t u d o s d e a v a l i a c a o d e d e s e m p e n h o d e s i s t e m a s d i s c r e t o s , n o s q u a i s r e d e s d e c o m p u t a d o r e s s e i n s e r e m . A s e g a o 2.1 a p r e s e n t a a s f o r m a s d e s e a v a l i a r o d e s e m p e n h o d e u m s i s t e m a . A s e g a o 2 . 2 i n t r o d u z a t e c n i c a d a S i m u l a c a o D i g i t a l . A s e g a o 2 . 3 a p r e s e n t a u m a m e t o d o l o g i a a d o t a d a e m e s t u d o s d e s i m u l a g a o . U m a i n t r o d u g a o a s i m u l a g a o o r i e n t a d a a o b j e t o s e a p r e s e n t a d a p e l a s e g a o 2 . 4 . F i n a l m e n t e , a s e g a o 2 . 5 a p r e s e n t a e x e m p l o s d e a m b i e n t e s d e s i m u l a c a o d e a l t o n i v e l , r e f e r e n c i a s i m p o r t a n t e s n o e s c o p o d e s t a D i s s e r t a g a o .2.1. Introdugao
Q u a n d o s e e s t a e n v o l v i d o c o m u m s i s t e m a , i n d e p e n d e n t e m e n t e d e s u a n a t u r e z a , e i m p r e s c i n d i v e l v e r i f i c a r o s e u c o m p o r t a m e n t o d e a c o r d o c o m a s m a i s d i v e r s a s s i t u a g o e s e m q u e e l e p o d e s e e n c o n t r a r , v i a b i l i z a n d o a t o m a d a d e d e c i s o e s a p r o p r i a d a s , t a i s c o m o s u a d e s a t i v a g a o o u o t i m i z a g a o . P a r a a n a l i s a r o d e s e m p e n h o d e s i s t e m a s d i s c r e t o s , tais c o m o r e d e s d e c o m p u t a d o r e s , epreciso definir um conjunto de medidas de desempenho r e l e v a n t e s d e i n t e r e s s e , o b s e r v a n d o o
c o m p o r t a m e n t o d e s t a s m e d i d a s f a c e a s v a r i a g o e s n a d e m a n d a d a s u a u t i l i z a c a o . E s t a d e m a n d a e
c a r a c t e r i z a d a p e l o t i p o d e a p l i c a c a o n a e n t r a d a d o s i s t e m a ( t r a f e g o ) [ C e l e s t i n o , 9 0 ] . A a n a l i s e d e d e s e m p e n h o d e s s e s s i s t e m a s p o d e s e r r e a l i z a d a d e d u a s f o r m a s : ^ a t r a v e s d e c a m p a n h a s d e m e d i g a o (benchmarks) e m s i s t e m a s j a e x i s t e n t e s ; a n i v e l d e p r o j e t o , p o r i n t e r m e d i o d e u m m o d e l o d o s i s t e m a p r o p o s t o o u e x i s t e n t e . A s e g u n d a a l t e r n a t i v a e m u i t o i n t e r e s s a n t e , d e v i d o a p o s s i b i l i d a d e d e s e f a z e r p r o j e g o e s d e d i v e r s a s c o n f i g u r a g o e s e s i t u a g o e s d o s i s t e m a a u m b a i x o c u s t o . C o m i s s o , m i n i m i z a - s e a s p r o b a b i l i d a d e s d e e r r o s d e d i m e n s i o n a m e n t o e u t i l i z a c a o d o s i s t e m a [ S o u t o , 9 3 ] . U m m o d e l o e c r i a d o a t r a v e s d a a b s t r a g a o s i m p l i f i c a d a d e u m s i s t e m a , c o n t u d o e s t e d e v e c a p t a r c a r a c t e r i s t i c a s f u n d a m e n t a l s d o c o m p o r t a m e n t o d e s t e s i s t e m a . E s t a a l t e r n a t i v a t i p i c a m e n t e e v i a b i l i z a d a a partir d e d u a s a l t e r n a t i v a s : S i m u l a c a o D i g i t a l e E s t u d o s A n a l i t i c o s ( T e o r i a d o s P r o c e s s o s E s t o c a s t i c o s / T e o r i a d a s F i l a s ) [ D a m o u n , 7 9 ] . A s o l u g a o a n a l i t i c a e m a i s e c o n o m i c a e e f i c i e n t e , e n t r e t a n t o m u i t a s v e z e s s u a a p l i c a g a o e l i m i t a d a p e l a c o m p l e x i d a d e d o s i s t e m a q u e e s t a s e n d o m o d e l a d o . P a r a e s t e t i p o d e s i t u a g a o , e m c e r t a s o c a s i o e s , a u n i c a s o l u g a o p o s s i v e l e a S i m u l a c a o D i g i t a l [ D i a s , 9 2 ] .
2.2. Simulagao Digital
A S i m u l a g a o D i g i t a l e u m a t e c n i c a u s a d a p a r a p r e v e r o c o m p o r t a m e n t o d e s i s t e m a s r e a i s o u h i p o t e t i c o s . E l a u t i l i z a u m m o d e l o p a r a o b t e r r e l a c o e s e n t r e a s m e d i d a s d e d e s e m p e n h o d e i n t e r e s s e , p e r m i t i n d o a e x p e r i m e n t a g a o a u t o m a t i z a d a c o m s i s t e m a s q u e n a o f o r a m c o n c e b i d o s o u d e d i f i c i l m a n u s e i o . E l a t a m b e m p e r m i t e a e x p e r i m e n t a g a o r e p e t i d a d e u m s i s t e m a , s o b c o n d i g o e s c o n t r o l a d a s , p a r a o t i m i z a r s e u d e s e m p e n h o [ D i a s , 9 2 ] . U m s i s t e m a e u m c o n j u n t o d e p a r t e s o r g a n i z a d a s f u n c i o n a l m e n t e p a r a f o r m a r u m t o d o [ S a u v e , 8 6 ] . N e s t e s e n t i d o , u m a p a r t e d o s i s t e m a q u e p o d e s e r t r a t a d a c o m o u m s i s t e m a i s o l a d o e c h a m a d o d e s u b s i s t e m a . U m s i s t e m a e p o r t a n t o f o r m a d o p o r u m c o n j u n t o d e s u b s i s t e m a s [ A l m e i d a , 9 9 ] . P o r e x e m p l o , s e n d o a I n t e r n e t u m s i s t e m a , u m r o t e a d o r n e l a p r e s e n t e , p o d e ser v i s t o c o m o u m s u b s i s t e m a . S o b o u t r o p o n t o d e v i s t a , u m r o t e a d o r p o d e s e r v i s t o c o m o u m s i s t e m a e o s p r o t o c o l o s , q u e o c o m p o e , s e u s s u b s i s t e m a s . U m m o d e l o e u m c o n j u n t o d e a p r o x i m a g o e s e s u p o s i g o e s , a m b a s e s t r u t u r a i s e q u a n t i t a t i v a s , s o b r e a s f u n c i o n a l i d a d e s d e u m s i s t e m a . D e u m a m a n e i r a m a i s s i m p l e s , p o d e - s eafirmar tambem q u e u m m o d e l o e u m a a b s t r a g a o d e u m s i s t e m a , o u s e j a , e a observagao d a s
c a r a c t e r i s t i c a s r e l e v a n t e s d e a c o r d o c o m o p r o b l e m a a s e r r e s o l v i d o e d o p o n t o d e v i s t a d e q u e r n e s t a m o d e l a n d o [ A l m e i d a , 9 9 ] . N a e l a b o r a g a o d e u m m o d e l o , e n e c e s s a r i o d e c i d i r q u a l o n i v e l d e d e t a l h a m e n t o d e s e j a d o . Q u a n t a m a i s a b s t r a t o m e n o s d e t a l h a d o s e r a o m o d e l o . D e s t a f o r m a , e i n t e r e s s a n t e q u e s e d e f i n a v a r i o s n i v e i s d e abstragao, p e l o s q u a i s u m s i s t e m a p o d e s e r r e p r e s e n t a d o . O n i v e l m a i s a l t o a p r e s e n t a u m a v i s a o g e r a l d o s i s t e m a e o n i v e l m a i s b a i x o c o n t e m p l a o m o d e l o c o m m a i o r e s d e t a l h e s d a s f u n c i o n a l i d a d e s d o s i s t e m a [ D ' S o u z a , 9 8 ] . A p a r t i r d o n i v e l m a i s a l t o , a t r a v e s d e
v a r i o s n i v e i s , c h e g a - s e a o n i v e l m a i s b a i x o p e l a r e a l i z a c a o d e r e f i n a m e n t o s n o m o d e l o . D e s t a f o r m a , t o r n a - s e o b v i o q u e q u a n t o m a i s b a i x o o n i v e l d e a b s t r a g a o , m a i o r o t e m p o d e s p e n d i d o p a r a a e l a b o r a c a o d o m o d e l o . E m s i m u l a c a o , g e r a l m e n t e , a c o n s t r u g a o d a l o g i c a d e u m m o d e l o d e s p e n d e d e 3 0 % a 4 0 % d o t e m p o t o t a l d o p r o j e t o d e s i m u l a g a o . N o i n i c i o e s t a p o r c e n t a g e m e m a i s e l e v a d a d e v i d o a f a l t a d e e x p e r i e n c i a d a s p e s s o a s e n v o l v i d a s , t a n t o n o m a n u s e i o d a f e r r a m e n t a a s e r u t i l i z a d a , q u a n t o n a c o l e t a d o s d a d o s n e c e s s a r i o s . P o r i s s o e r e c o m e n d a v e l q u e a s p e s s o a s e n v o l v i d a s n o s p r o j e t o s t e n h a m p e l o m e n o s u m b o m c o n h e c i m e n t o d o p r o c e s s o a s e r m o d e l a d o . A o r e a l i z a r a s i m u l a g a o d e u m s i s t e m a , a q u a l i d a d e d o m o d e l o a s e r c o n s t r u i d o e o s d a d o s a s e r e m a p l i c a d o s a e s t e m o d e l o i r a o refletir n o s r e s u l t a d o s o b t i d o s . B o n s m o d e l o s e d a d o s c o e r e n t e s l e v a m a r e s u l t a d o s s a t i s f a t o r i o s , e v i c e - v e r s a [ K e l t o n , 9 8 ] . E m s e u s p r i m o r d i o s , a simulacao d i g i t a l e r a e x t r e m a m e n t e c o m p l i c a d a , d e v i d o a n e c e s s i d a d e d e m o d e l a g e m m a t e m a t i c a d o s s i s t e m a s e a i m p l e m e n t a g a o d e a l g o r i t m o s e m l i n g u a g e n s d e p r o g r a m a g a o d e p r o p o s i t o g e r a l ( e x . F O R T R A N ) . O g r a u d e d i f i c u l d a d e d i m i n u i u c o m o s u r g i m e n t o d a s l i n g u a g e n s e s p e c i f i c a s p a r a s i m u l a g a o , t a i s c o m o , G P S S , S I M S C R I P T , S L A M , e S I M A N [ K e l t o n , 9 8 ] . E n t r e t a n t o , a m a t u r i d a d e n a a r e a d e s i m u l a c a o e s t a s e n d o a t i n g i d a com os s i m u l a d o r e s de a l t o n i v e l . F e r r a m e n t a s d e s i m u l a c a o g e r a l m e n t e t r a z e m u m c o n j u n t o d e c o m p o n e n t e s p r e c o d i f i c a d o s , c o m a h a b i l i d a d e p a r a p e r s o n a l i z a r o u a d i c i o n a r n o v o s m o d u l o s . E s t a s f e r r a m e n t a s t i p i c a m e n t e o f e r e c e m i n t e r f a c e g r a f i c a c o m o u s u a r i o , m e n u s e d i a l o g o s , t o d o s o p e r a v e i s a t r a v e s d e clicks i n t u i t i v o s n o m o u s e , e p e r m i t e m a c r i a g a o e a n i m a c a o d e m o d e l o s d e s i s t e m a s d e f o r m a f l e x i v e i s . E x i s t e m v a r i o s e x e m p l o s d e f e r r a m e n t a s d e s i m u l a g a o d e d o m i n i o p u b l i c o (ex. S A V A D [ C a b r a l , 9 2 ] , n s [ n s , 9 8 ] , M A R S [ A l a e t t i n o g l u , 9 8 ] ) e c o m e r c i a i s ( A r e n a [ K e l t o n , 9 8 ] e B O N e S [ C a d e n c e , 9 8 ] .
2.3. Metodologia para Estudos de Simulacao
E m u m e s t u d o d e s i m u l a g a o d e v e - s e d e f i n i r a d e q u a d a m e n t e a m e t o d o l o g i a a s e r u t i l i z a d a n a s u a r e a l i z a g a o . E s t a s e g a o a p r e s e n t a u m a s e q u e n c i a d e a t i v i d a d e s d e u m e s t u d o d e s i m u l a g a o ( f i g u r a 2 . 1 ) e c o n s i d e r a g o e s s o b r e o r e l a c i o n a m e n t o e n t r e e s t a s . T a i s a t i v i d a d e s f o r a m d e f i n i d a s e m [ K e l t o n , 9 8 ] e e m [ L o b a o , 9 6 ] . E i m p o r t a n t e r e s s a l t a r q u e a s f o n t e s b i b l i o g r a f i c a s c i t a d a s v o l t a m s e u s e x e m p l o s e c o n s i d e r a g o e s p a r a a c r i a g a o d e m o d e l o s d e s i m u l a g a o d a s a r e a d e E n g e n h a r i a d a P r o d u g a o , L o g i s t i c a , e n t r e o u t r a s . N e s t a s e g a o , c o n t u d o , f o r a m i n s e r i d a s a l g u m a s c o n s i d e r a g o e s s o b r e o e s t u d o d e s i m u l a g a o e m r e d e s d e c o m p u t a d o r e s . 8
f Especificacao Funcional ( do Sistema e da \ Simulacao IHIIIIlHUffeff-• IHIIIIlHUffeff-• - : f Especificacao Funcional ( do Sistema e da \ Simulacao
)
( Experimentacao e ^ \ Analise^ r
Formulagao e N. ( Validagao j m f Formulacao do ^ \ \ ^ Problema Construgao do Modelo )^ ,
r / Apresentacao >iC Verificagao "-"v I dos Resultados )
Figura 2.1: Atividades do Estudo de Simulacao.
A r e l a c a o e n t r e a s a t i v i d a d e s a s e r e m r e a l i z a d a s e s t a o d i r e t a m e n t e a s s o c i a d a s a i m e n s a g a m a d e p a r t i c u l a r i d a d e s d e c a d a s i s t e m a a s e r a v a l i a d o . P o r t a n t o , o e s t u d o d e s i m u l a g a o p o d e
ser r e a l i z a d o como s e fosse movimentos em uma espiral, aproxlmando-se e afastando-se de seu
c e n t r a d e a c o r d o c o m a c l a r e z a d e s e u s o b j e t i v o s [ K e l t o n , 9 8 ] . A s a t i v i d a d e s e n c o n t r a m - s e e m p o n t o s d e f i n i d o s n o s a n e i s d a e s p i r a l e o c e n t r a p o d e s e r a b s t r a i d o c o m o o s u c e s s o a l c a n g a d o . E m o u t r a s p a l a v r a s , p o d e - s e d i z e r q u e o e s t u d o d e s i m u l a g a o d e v e s e r r e a l i z a d o e m v a r i o s c i c l o s ( a n e i s d a e s p i r a l ) d e d e s e n v o l v i m e n t o i n t e r a t i v o s , o n d e p o d e s e r o b s e r v a d o o a u m e n t o d o n i v e l d e d e t a l h a m e n t o a cada c i c l o r e a l i z a d o ( r e f i n a m e n t o ) . D e a c o r d o c o m a f i g u r a 2 . 1 , a s a t i v i d a d e s b a s i c a s p a r a a v a l i a g a o d e d e s e m p e n h o d e v e d e s d e c o m p u t a d o r e s , u t i l i z a n d o - s e d a s i m u l a g a o , s a o a s s e g u i n t e s [ K e l t o n , 98y. F o r m u l a g a o d o P r o b l e m a ; E s p e c i f i c a g a o F u n c i o n a l d o S i s t e m a e d a S i m u l a c a o ; F o r m u l a g a o e C o n s t r u g a o d o M o d e l o ; V e r i f i c a g a o ; V a l i d a g a o ; E x p e r i m e n t a g a o e A n a l i s e ; A p r e s e n t a g a o e P r e s e r v a g a o d o s R e s u l t a d o s .
2.3.1. Formulagao do Problema
N a r e s o l u g a o d e p r o b l e m a s , o p r i m e i r o p a s s o e d e f i n i r e f o r m u l a r o p r o b l e m a . N o m u n d o r e a l , r a r a m e n t e o s p r o b l e m a s a s e r e m r e s o l v i d o s e s t a o c o m p l e t a m e n t e c l a r o s o u d e f i n i d o s n o p a p e l . N e s t e s c a s o s , n a o s e p o d e d i z e r q u e a s i m u l a c a o e a f e r r a m e n t a c o r r e t a p a r a a s o l u g a o [ K e l t o n , 9 8 ] . E s t u d o s b i b l i o g r a f i c o s e d i a l o g o s c o m p e s s o a s i n t e r e s s a d a s n a s o l u g a o ( c l i e n t e s ) s a o f u n d a m e n t a l s p a r a s e f o r m u l a r c l a r a m e n t e o p r o b l e m a . U m a c l a s s i f i c a g a o i n t e r e s s a n t e q u e i n t e r f e r i r a n a e s t r a t e g i a d e d e f i n i r e a t a c a r o p r o b l e m a f o i d e s c r i t o n a f i g u r a a b a i x o : 9m
Tipos de Problemas
Informacoes
Relevantes
A v a l i a g a o d e s i s t e m a s q u e n a o c o r r e s p o n d e m a s e x p e c t a t i v a s d o u s u a r i o ( e x . r e d e l o c a l s o b r e c a r r e g a d a d e s e r v i c o s e u s u a r i o s ) ; D a d o s R e a i s A v a l i a g a o d e e s p e c i f i c a g o e s d e s i s t e m a s q u e n a o f o r a m i m p l e m e n t a d o s , o u n a o s e t e r n a c e s s o a o s d a d o s d a s i n s t a n c i a s a t u a n t e s ( e x . a n a l i s e c o m p a r a t i v a o u v a l i d a t i v a d e p r o t o c o l o s d e D a d o s e s t i m a d o s A v a l i a g a o d o s l i m i t e s d e s i s t e m a s p a r a c o n h e c e r t o d a s a s l i m i t a g o e s e p o t e n c i a l i d a d e s d o m e s m o ( e x . g e r e n c i a p r o - a t i v a d e r e d e s d e c o m p u t a d o r e s ) . D a d o s R e a i s e D a d o s e s t i m a d o sFigura 2.2: Informacoes utilizadas no estudo de Simulacao.
A p o s i d e n t j f i c a r o s i s t e m a e m u m a d a s c l a s s e s d e p r o b l e m a s , m o s t r a d a s n a f i g u r a 2 . 2 , d e v e - s e e s t a b e l e c e r o s l i m i t e s i n i c i a i s d o m e s m o . N o c o n t e x t o d a s r e d e s d e c o m p u t a d o r e s o p r o b l e m a d o s i s t e m a p o d e s e r d e l i n e a d o a n i v e l d e p r o c e s s o s , p r o t o c o l o s , s e r v i c o s , a p l i c a c o e s , t e c n o l o g i a s d e r e d e , e t c . . E n t r e t a n t o , e i m p o r t a n t e o b s e r v a r o s i s t e m a d e a c o r d o c o m a s f u n c i o n a l i d a d e s d e f i n i d a s n a s c a m a d a s d a a r q u i t e t u r a d e r e d e s e m q u e s t a o ( e x . : T C P / I P , R M - O S I ) . O s l i m i t e s d o s i s t e m a s a o a p r i m o r a d o s a m e d i d a q u e o s c o n h e c i m e n t o s s o b r e o s i s t e m a e s e u p r o b l e m a s a o a p r o f u n d a d o s . P o r t a n t o e s t a t a r e f a d e v e s e r d e l i n e a d a c o m a t e n g a o , p o i s a e x p a n s a o o u c o n t r a c a o d e s s e s l i m i t e s i n f l u e n c i a r a o d i r e t a m e n t e n o s p r o c e d i m e n t o s d e r e s o l u c a o d o m e s m o [ K e l t o n , 9 8 ] . A p a r t i r d a d e f i n i c a o d o s l i m i t e s i n i c i a i s , p a r t e - s e p a r a a p r o x i m a e t a p a d a f o r m u l a g a o d o p r o b l e m a : d e f i n i r m e t r i c a s d e d e s e m p e n h o . P o d e - s e c o n s i d e r a r d u a s c l a s s e s d e m e t r i c a s d e d e s e m p e n h o , n a s q u a i s d e v e - s e c e n t r a r [ K e l t o n , 9 8 ] : •S M e t r i c a s u s a d a s p a r a m e d i r a Qualidade do Sistema s o b r e o e s t u d o ; S M e t r i c a s u s a d a s p a r a m e d i r o Sucesso do Estudo. D e p o i s d e e s t a b e l e c e r c o m o o d e s e m p e n h o d o s i s t e m a s e r a m e d i d o , d e v e - s e d e s c o b r i r a e x i s t e n c i a d e v a l o r e s "Baseline" a t u a i s p a r a e s t a s m e t r i c a s . C a s o s e j a i m p o s s i v e l ( e x . : s i s t e m a n o v o ) , b u s c a - s e s i s t e m a s e x i s t e n t e s s i m i l a r e s p a r a s e f a z e r e s t i m a t i v a s ( v e r f i g u r a 2 . 2 ) . E n f i m , t e n d o e m m a o s a s m e d i d a s ( m e t r i c a s ) a t u a i s d e v e - s e d e s c o b r i r " Q u a i s a s e x p e c t a t i v a s d o c l i e n t e ? " , ou s e j a , t r a g a r o s o b j e t i v o s d o e s t u d o . O s o b j e t i v o s e s t a n d o d e f i n i d o s , p o d e - s e p a r t i r p a r a a p r o x i m a a t i v i d a d e ( E s p e c i f i c a c a o F u n c i o n a l d o S i s t e m a e d e S i m u l a g a o ) . E i n t e r e s s a n t e f r i s a r q u e m e s m o o s o b j e t i v o s e s t a n d o d e f i n i d o s , e s t e s p o d e m s e r a l t e r a d o s p o s t e r i o r m e n t e , c a s o n o v a s i n f o r m a g o e s r e l e v a n t e s s e j a m d e s c o b e r t a s n a e x e c u g a o d a p r o x i m a a t i v i d a d e [ K e l t o n , 9 8 ] . 10
2.3.2. Especificagao Funcional do Sistema e da Simulagao
E m b o r a a e s p e c i f i c a g a o f u n c i o n a l n a o s e j a d e i n t e r e s s e d i r e t o d e s t a D i s s e r t a g a o , a s u a m e n g a o n e s t a s e g a o d e v e - s e a e s t a e s p e c i f i c a g a o t e r s i d o t r a d i c i o n a l m e n t e u s a d a e m e s t u d o s d e s i m u l a g a o . P a r a i n i c i a r e s t a e t a p a ( a t i v i d a d e ) , o p r o b l e m a j a d e v e t e r s i d o f o r m u l a d o e o s o b j e t i v o s d o e s t u d o d e f i n i d o s , m e s m o q u e e s t e s n a o s e j a m c o n s i d e r a d o s d e f i n i t i v o s [ L o b a o , 9 6 ) . N e s t a e t a p a , b u s c a - s e e n t e n d e r o f u n c i o n a m e n t o d o s i s t e m a d e t a l h a d a m e n t e e d e f i n i r o s p a r a m e t r o s p e r t i n e n t e s a a b s t r a g a o d e s t e s i s t e m a p a r a a s i m u l a g a o ( e n f a s e a o s d a d o s d e e n t r a d a e s a i d a d a s i m u l a c a o ) . O r e s u l t a d o d e s t a e t a p a p o d e ser e x p r e s s o e m u m d o c u m e n t o c h a m a d o E s p e c i f i c a g a o F u n c i o n a l .O p r o c e s s o d e d e s e n v o l v i m e n t o d e uma e s p e c i f i c a g a o p o d e t e r muitas formas d e p e n d e n t e s d e f a t o r e s c o m o [ K e l t o n , 9 8 ] : » A b r a n g e n c i a d o e s t u d o ; S R e l a c i o n a m e n t o d a s p a r t e s e n v o l v i d a s ( a n a l i s t a e c l i e n t e ) ; S H a b i l i d a d e d e a m b a s a s p a r t e s e m c h e g a r a u m c o n s e n s o d o s d e t a l h e s d e s t e p r i m e i r o e s t a g i o . E n t r e t a n t o , s e u m i n d i v i d u o f i z e r a m b o s o s p a p e i s ( a n a l i s t a e u s u a r i o ) , e s t a e t a p a p o d e s e r c o m b i n a d a c o m a p r o x i m a ( F o r m u l a g a o e C o n s t r u g a o d o M o d e l o ) . E m b o r a s e j a n e c e s s a r i o d e f i n i r e e n t e n d e r o s i s t e m a c o m p l e t a m e n t e , o d e s e n v o l v i m e n t o d e u m a e s p e c i f i c a g a o f o r m a l d a s i m u l a g a o n a o e o b r i g a t o r i o . A o b r i g a t o r i e d a d e d e s t e d o c u m e n t o e j u s t i f i c a d a q u a n d o o a n a l i s t a e u m c o n s u l t o r e x t e r n o a e m p r e s a ( o u s i s t e m a ) d o u s u a r i o , p o i s e l e i m p l i c a r i a n a c o m u n i c a c a o f o r m a l e n t r e a s p a r t e s . A e s p e c i f i c a g a o e i m p o r t a n t e q u a n d o m a i s d e u m a p e s s o a t r o c a r i n f o r m a g o e s s o b r e o a s s u n t o [ K e l t o n , 9 8 ] .
2.3.3. Formulagao e Construgao do Modelo
A c o n s t r u g a o d o m o d e l o s e r e s t r i n g e a tres p a r t e s [ K e l t o n , 9 8 ] : S L o g i c a d e C o n t r o l e : n e s t a e t a p a c o m e g a a c o n s t r u g a o d a l o g i c a p r o p r i a m e n t e d i t a d o s o f t w a r e . A c o n s e l h a - s e a u t i l i z a g a o d e t e c n i c a s d e p r o g r a m a g a o , t a i s c o m o a l g o r i t m o s o u f l u x o g r a m a s p a r a e x p r e s s a r a i d e i a d a l o g i c a q u e s e d e s e j a c o n s t r u i r ; S D a d o s N e c e s s a r i o s : a e s p e c i f i c a g a o d o s d a d o s a s e r e m u t i l i z a d o s n o m o d e l o d e v e s e r d e t a l h a d a ; •S F l e x i b i l i d a d e e N i v e l d e D e t a l h a m e n t o : a n t e s d a c o n s t r u g a o d o m o d e l o d e v e - s e d e f i n i r o n i v e l d e d e t a l h a m e n t o d o m e s m o . Q u a n t o m a i s d e t a l h a d o , m a i s c o m p l e x o e p o r t a n t o , m e n o s f l e x i v e l . 11
2.3.4. Verificagao
U m a v e z q u e o m o d e l o e s t e j a c o n s t r u i d o , p a r t e - s e p a r a v e r i f i c a r s e a l o g i c a i m p l e m e n t a d a e s t a a g i n d o d e a c o r d o c o m o p r e v i s t o n o p r o j e t o . C a s o c o n t r a r i o , d e v e - s e f a z e r o s a j u s t e s n e c e s s a r i o s p a r a t a l . O p r o c e s s o d e v e r i f i c a g a o c o n s i s t e e m i s o l a r e c o r r i g i r e r r o s n a o i n t e n c i o n a i s n o m o d e l o . A c o m p l e x i d a d e d o p r o c e s s o d e v e r i f i c a c a o d e p e n d e d o t a m a n h o d o m o d e l o , e a p a r t e m a i s d i f i c i l n a o e c o r r i g i r e r r o s , e s i m i s o l a - l o s .2.3.5. Validagao
E u m a e t a p a m u i t o p a r e c i d a c o m a a n t e r i o r , m a s q u e n u n c a d e v e p r e c e d e - l a , n o m a x i m o s e r r e a l i z a d a s i m u l t a n e a m e n t e . E l a c o n s i s t e e m c e r t i f i c a r s e o s i s t e m a m o d e l a d o e s t a e m s i n t o n i a c o m o s i s t e m a r e a l , q u a n t o a o c o m p o r t a m e n t o e q u a n t o a o s r e s u l t a d o s o b t i d o s . S e o s r e s u l t a d o s d e s t o a m m u i t o d o r e a l , p r o v a v e l m e n t e o s d a d o s d e e n t r a d a p o d e m e s t a r c o m p r o b l e m a s o u a t e m e s m o a l g u m a c o n s i d e r a c a o l o g i c a d o m o d e l o . O e n v o l v i m e n t o d o s c o m p o n e n t e s , t a i s c o m o : e n t i d a d e s , r e c u r s o s , l o g i c a d e c o n t r o l e , e s t a t i s t i c a s , u s o d e a n i m a c a o e d a d o s e m u m m o d e l o r a c i o n a l , i n f l u e n c i a m n o s p r o c e s s o s d e v e r i f i c a g a o e v a l i d a g a o .2.3.6. Analise
C o n s i d e r a n d o q u e o m o d e l o e s t e j a s e c o m p o r t a n d o c o m o o s i s t e m a r e a l , i n i c i a - s e a b u s c a d o s o b j e t i v o s d o o b j e t o d e e s t u d o d a a v a l i a g a o d e d e s e m p e n h o . A q u i , i d e n t i f i c a - s e p r o b l e m a s , s e u g r a u d e i m p o r t a n c i a , e v i a b i l i d a d e s p a r a a r e s o l u c a o d o s m e s m o s .2.3.7. Apresentagao e Preservagao dos Resultados
A s s i m c o m o t o d o p r o j e t o , d e v e h a v e r u m a a p r e s e n t a g a o a s p e s s o a s i n t e r e s s a d a s n a a r e a e m q u e s t a o . A l g u m a s c o n s i d e r a g o e s q u a n t o a a p r e s e n t a g a o [ K e l t o n , 9 8 ] : S S e r b r e v e e s i m p l e s p a r a u m e n t e n d i m e n t o f a c i l ; S E n f o c a r a a p r e s e n t a g a o d o s r e s u l t a d o s s i g n i f i c a t i v o s a l c a n g a d o s ; S D i r e c i o n a r a l i n g u a g e m d e a p r e s e n t a g a o a a u d i e n c i a , l e m b r a n d o - s e q u e m u i t o s d e l e s n a o p a r t i c i p a r a m d o p r o j e t o , e S A p r e s e n t a r r a z o e s p a r a o s r e s u l t a d o s e x p o s t o s , s e n a o a a p r e s e n t a g a o p e r d e r a o s e u e m b a s a m e n t o .
2.4. Simulacao Orientada a Objetos
S o b u m p o n t o d e v i s t a s u p e r f i c i a l , a e x p r e s s a o " O r i e n t a g a o a O b j e t o s " s i g n i f i c a q u e o s o f t w a r e e o r g a n i z a d o c o m o u m a c o l e g a o d e o b j e t o s s e p a r a d o s q u e i n c o r p o r a m , t a n t o a e s t r u t u r a ,
q u a n t o o c o m p o r t a m e n t o d o s d a d o s . A s p r i n c i p a l s c a r a c t e r i s t i c a s d o p a r a d i g m a o r i e n t a g a o a o b j e t o s , g e r a l m e n t e , i n c o r p o r a m q u a t r o a s p e c t o s [ R u m b a u g h , 9 4 ] : •f I d e n t i d a d e : s i g n i f i c a q u e o s d a d o s s a o s u b d i v i d i d o s e m e n t i d a d e s d i s c r e t a s e d i s t i n t a s , d e n o m i n a d a s o b j e t o s ; » C l a s s i f i c a c a o . s i g n i f i c a q u e o s o b j e t o s ( i n s t a n c i a s d a c l a s s e ) c o m a m e s m a e s t r u t u r a d e d a d o s ( a t r i b u t o s ) e o m e s m o c o m p o r t a m e n t o ( o p e r a g o e s ) s a o a g r u p a d o s e m u m a c l a s s e . U m a c l a s s e e u m a a b s t r a g a o q u e d e s c r e v e p r o p r i e d a d e s i m p o r t a n t e s p a r a u m a a p l i c a g a o i g n o r a n d o o r e s t a n t e . C a d a c l a s s e d e s c r e v e u m c o n j u n t o p o s s i v e l m e n t e infinito d e o b j e t o s i n d i v i d u a l s ; *f P o l i m o r f i s m o : s i g n i f i c a q u e a m e s m a o p e r a g a o p o d e a t o a r d e m o d o s d i v e r s o s e m c l a s s e s d i f e r e n t e s . U m a o p e r a g a o e u m a a g a o o u t r a n s f o r m a g a o q u e u m o b j e t o e x e c u t a o u a q u e e l e e s t a s u j e i t o . U m a i m p l e m e n t a g a o e s p e c i f i c a d e u m a o p e r a g a o p o r u m a d e t e r m i n a d a c l a s s e e c h a m a d a d e m e t o d o . C a d a c l a s s e tern s e u s m e t o d o s e s p e c i f i c o s p a r a i m p l e m e n t a r u m a d e t e r m i n a d a o p e r a g a o ; S H e r a n g a : e o c o m p a r t i l h a m e n t o d e a t r i b u t o s e o p e r a g o e s e n t r e c l a s s e s , c o m b a s e e m u m r e l a c i o n a m e n t o h i e r a r q u i c o . U m a c l a s s e p o d e s e r d e f i n i d a d e f o r m a a b r a n g e n t e e d e p o i s r e f i n a d a e m s u c e s s i v a s s u b c l a s s e s m a i s d e f i n i d a s . C a d a s u b c l a s s e i n c o r p o r a , o u h e r d a , t o d a s a s p r o p r i e d a d e s d e s u a s u p e r c l a s s e e a c r e s c e n t a s u a s p r o p r i a s e e x c l u s i v a s c a r a c t e r i s t i c a s . D e s d e a m e t a d e d a d e c a d a p a s s a d a , tern h a v i d o u m s e n s i v e l c r e s c i m e n t o n a p e s q u i s a , d e s e n v o l v i m e n t o e a p l i c a g a o d e f e r r a m e n t a s d e s i m u l a g a o o r i e n t a d a a o b j e t o s (Object Oriented Simulation - O O S ) [ R o b e r t s , 9 4 ] . S i s t e m a s c o m p l e x o s s a o , p o r n a t u r e z a , m a i o r e s e m a i s h e t e r o g e n e o s q u e o u t r o s s i s t e m a s , a l e m d o q u e , f r e q i i e n t e m e n t e , o s m o d e l o s s a o d e s e n v o l v i d o s e m a n t i d o s p o r v a r i a s p e s s o a s . P o r t a n t o , c o n f o r m e a c o m p l e x i d a d e d o s i s t e m a a u m e n t a , a u m e n t a m t a m b e m o s b e n e f i c i o s d a O O S [ A l m e i d a , 9 9 ] . A v a n t a g e m m a i s t j p i c a m e n t e c i t a d a p a r a s e u s a r e s t a a b o r d a g e m e a c a p a c i d a d e d e m o d e l a r s i s t e m a s u s a n d o e n t i d a d e s q u e s a o n a t u r a i s a o s i s t e m a f i s i c o . D e s t a f o r m a , p o r e x e m p l o , u m s i s t e m a d e t r a n s i t o , q u e c o n s i s t e d e p e d e s t r e s , a u t o m o v e i s e s e m a f o r o s , p o d e s e r d i r e t a m e n t e r e p r e s e n t a d o e m s e u m o d e l o p o r e s s a s m e s m a s e n t i d a d e s . Isto p o s s i b i l i t a a o a n a l i s t a d e m o d e l a g e m u m a m a i o r s i m p l i c i d a d e e f l e x i b i l i d a d e d u r a n t e a c o n c e p g a o d e s e u m o d e l o , p e r m i t i n d o , i n c l u s i v e , d e c o m p o r o s i s t e m a e m s u b s i s t e m a s a t r a v e s d a h e r a n g a d e a t r i b u t o s e d e c o m p o r t a m e n t o e d a i i n t e r c o n e c t a - l o s a d i f e r e n t e s s u b s i s t e m a s a f i m d e f o r m a r n o v o s s i s t e m a s [ A l m e i d a , 9 9 ] .
A l e m d a m o d e l a g e m m a i s natural e, p o r t a n t o m a i s s i m p l e s , a O O S tambem se propoe ao d e s e n v o l v i m e n t o m a i s r a p i d o d e m o d e l o s a t r a v e s d a u t i l i z a g a o d e m o d e l o s p r e - d e f i n i d o s e m b i b l i o t e c a s . N e s t e c a s o , b a s t a a o a n a l i s t a d e m o d e l a g e m utilizar o u a d i c i o n a r n o v o s a t r i b u t o s o u f u n c i o n a l i d a d e s a d e t e r m i n a d o s e l e m e n t o s q u e c o m p o e m a b i b l i o t e c a . T a m b e m e p o s s i v e l a o 13