A new approach for visualizing UML class diagrams

Share Embed


Descrição do Produto

A New Approach for Visualizing UML Class Diagrams CarstenGutwenger ResearchCentercaesar Friedensplatz16 D-53111Bonn,Germany [email protected]

MichaelJ¤ unger Universityof Cologne Pohligstrae1 D-50969K o¤ln, Germany [email protected]

KarstenKlein ResearchCentercaesar Friedensplatz16 D-53111Bonn,Germany [email protected]

JoachimKupke ResearchCentercaesar Friedensplatz16 D-53111Bonn,Germany [email protected]

SebastianLeipert ResearchCentercaesar Friedensplatz16 D-53111Bonn,Germany [email protected]

PetraMutzel ViennaUniversityof Technology Favoritenstrae911 E186 A-1040Wien, Austria [email protected]

Abstract UML diagramshave becomeincreasinglyimportant in the engineeringandreengineeringprocessesfor softwaresystems.Of particular interestare UML classdiagramswhosepurposeis to display classhierarchies(generalizations),associations,aggregations, and compositionsin one picture. The combinationof hierarchical and non-hierarchicalrelationsposesa specialchallengeto a graphlayout tool. Existing layout tools treathierarchicalandnonhierarchicalrelationseitheralike or asseparatetasksin a two-phase processasin, e.g.,[Seemann1997].Wesuggesta new approachfor visualizingUML classdiagramsleadingto a balancedmixture of thefollowing aestheticcriteria: Crossingminimization,bendminimization,uniform directionwithin eachclasshierarchy, no nesting of oneclasshierarchy within another, orthogonallayout, merging of multiple inheritanceedges,and good edgelabelling. We have realizedour approachwithin the graphdrawing library GoVisual. Experimentsshow the superiorityto state-of-the-artandindustrial standardlayouts. CR Categories: I.3.6 [ComputerGraphics]: Methodologyand Techniquesgraphicsdatastructuresanddatatypes;D.2.6 [Software Engineering]:ProgrammingEnvironmentsgraphical environments;G.2.2[DiscreteMathematics]:GraphTheorygraph algorithms Keywords: SoftwareVisualization,GraphDrawing, GraphLayout, UML ClassDiagrams

1

Introduction

The Unied Modeling Language(UML) by [Booch et al. 1999] provides a mainly graphicalnotationto representthe artifactsof a software system. The notationhasbeenrapidly adoptedas the

acceptednotationfor object-orientedanalysisanddesign.UML incorporatesnotationsto describesystemsatvariouslevelsof abstraction. UML diagramscanbe usedto modelrequirements,designs, implementationsandtests.Sincethesediagramsaremeansof communicationbetweencustomers,developersandothersinvolved in the software engineeringand reengineeringprocess,it is critical that the diagramspresentinformation clearly. Appropriatelayout of thesediagramscan assistin achieving this goal (see[Purchase et al. 2001]). Of particular interest are UML class diagrams consistingof classesrepresentedby rectangularregions containing the class name,attributesandoperationsof the class,anddifferentkinds of relationshipsbetweenclassesthatarerepresentedaslines. We distinguish two kinds of relationships:Generalizationsrepresenting inheritancein classhierarchiesand associationsincluding aggregations and compositions . In UML classdiagrams,the generalizations are typically drawn strictly hierarchicallydisplaying the inheritancestructureof the classes;the associationsare the nonhierarchicalelementsof thediagram.A UML classdiagramtherefore can be modelledas a graphG = (V, A, E) consistingof two kinds of connections:arcsrepresentingthe generalizationsin the setA, andedgesrepresentingtheassociationsin thesetE.

1.1

Aesthetics

Figure 1 shows a small example of a UML classdiagramtaken from [Purchaseet al. 2001] containingtwo hierarchiesconsisting of two and four classes,respectively. The authorshave usedthis diagramto performpreferenceexperimentsassessingthe effect of individual aestheticsin the applicationdomainof UML classdiagrams,resultingin a priority listing of aestheticsin theapplication domainof UML diagrams.Accordingto [Purchaseet al. 2001],the mostimportantaestheticpreferencesfor UML classdiagramsare crossingminimization, bendminimization, orthogonality, horizontallabels, andjoinedinheritancearcs. Theseaestheticpreferencesareeasilymetin thelayoutof thesame classdiagramshown in Figure1(b) which hasbeenautomatically createdby ournew approach.Moreover, ournew approachsupports thevisualperceptionof thehumanreaderby

@

                         @         

      

2#00    1     

!"#$                    @          ) *$   #  + A             '    

   (      %  &   %   A

                     A  @            @ @

- .  .  /0 A   % ,    

d g { nq  [ [ K j  QH H } ^ M T N U O M H P Q N G O R H P Q G R KK K  v H E T E w U } E N O N H } P Q G F R U S M P hK €b F EH Q MG MO NN O } H PF Q GU R S M P K

@ A 2 / .               3            4    3                @

7  8 # / 9  $ *    6          ;  8 . /  3    :         

) *$  0 ?     %         @6  &     A

@

@ A

5    / / )  . /    %        3      @B@  '   %    

)   . / 9  $ *  <   1          <   1       

! $ 8 +. >    ' <    :              :  :    < 44  3 %  ( :         =       

l m g [ ] f Y n[ l X ] q r | ` g ma R P E F _ N O H P QG R KKK LH Q TU c M N N b j T Q UH M M K P E E UkN O H P Q G R ƒ „ CC T^ T L S L   F F S S t Mt M D D H HI JI J N N O O H PH QP G Q G R R C D h M D i D ^T O h I J „ ƒ W X Y Z[ \ ] K DO EF LS MG T N U O HM P Q G N RO H P Q G R ƒ KKC D D P E M FL G Q H HO I J N V G H M R M P ƒ ƒ „ defg M G T U M N O HP QG R KKK L_ TM HP MD M N G b H T T R c M N V G H M R M P C QO Q G I J

l X ]q r ƒ ƒ x [ \ ]X r[ r p q a q X rs K v E ^M N O H P Q G R K PM O M T PD h VG HM PM O H N O H P QG R K PM O M T PD h o PM T N O HP QG R ƒ„ C QO j M T D h Q G R I J „ ƒ„ ƒ „ u rq Z[ \ ] l mg [ s ‚ [ [ ] KK HQ GQ H H^ M M P N Q U O H v P Q M G _R E P H N O H P Q G R KK Hh c E _ F M P y O E N P V i G H N M O R H M P Q GP R K w QG T ^v M _ E P H N O H P QG R C Q O D E U _ ^M H M I J

(a) Original Layout.

ufss K _ P E t M D H N O H P QG R

~ [ { q r] z [ { f r ] | ` g ma K K vb MT H _ M } N T b U T M c N O H P Q G R K_ T O O y E PL N O H P QG R C T L L b F Hc IJ ƒ ƒ W ]X ` [ a ] K U G T M U U M S M N O P H N P QO G H R P Q G R KK T L P M O O N O H P Q G R ƒ CC HM E G H TP E ^ ^ D I JP M L Q H O I J C R _ T IJ

(b) GoVisualUML Layout.

Figure1: UML classdiagramusedin [Purchaseet al. 2001]for preferenceexperiments. …† ‡ ˆ ‰Š ‹ ˆˆ Œ

drawing generalizationsin thesameclasshierarchy alwaysin thesamedirection,

… † ‡ ˆ ‰ Š Õ Š Ö ¸ ÃÄ ÃÅ ¿Ÿ º ´ À  ¡´ «  µ ¡ ¢ « « µ ´ ¢¬ « ¢´ ¦ §¬ ¢¢ ¡¦ § « ¨§ ¤ ® ÂÜ ÜÄ © ª ŸŸŸ ´´½    ­ ¡¡ ¾ «« µµ £ ¢¢ ¤ «« ´´¥ ¬¬¡ ¢¢ ÇǦ § ¡¡ ¨ ¤¹¹ ©©© ªªª

avoiding nestingof classhierarchies, highlightingthevariousclasshierarchiesby differentcolors,

… † Ñ Ë Ò ÓÔ Õ Š Ö ‹ ˆ ˆ Œ ŸŸ ­­ ¾¾ ÏÏ ®®    ±± ¬¬ ÇÇ ¡¡ ¹¹ ÐÐ ¤¤ ¤¤ ¢¢ ©© ªª

… † ‡ ˆ ‰ Š Õ Š Ö Ý Š ‰ ð Š ß ó ô Ë Ó É Î ˆ ñ ßò ˆ ˆ Ì â

andhighlightingthegeneralizationsby color. In this paper, we suggesta uniquetechniquewhich visualizes lucidly arranged,orthogonaldiagramsfeaturing hierarchicaland non-hierarchicalelementsin sucha way thatthedirectededgesof a componentall follow thesamedirection.Transferredto UML class diagrams,a layout is createdwhich representseachinheritancehierarchy in an alignedfashion. The computedorthogonallayout is compactandthenumberof edgecrossingsis smallin practice. Complex classdiagramsoften useaggregation/compositionhierarchiesin additionto generalizationhierarchies.Theseaggregations/compositionsmay describea secondhierarchicaldimension that userswish to emphasizein a layout. While we focusthroughout this paperon generalizationhierarchies,thesameapproachcan beusedto visualizehierarchiesdifferentfrom generalizations.This canbe donefor any kind of association.It is even possibleto visualizeall hierarchicaldimensionswithin onediagram. However, suchan approachdoesnot reveal enoughanalyticalinformation, sincein this casethe graphis usuallyfully directed,including directedcycles. Thusa layout basedon sucha directedgraphdoes not emphasizeany hierarchicaldimensions.

1.2

… † Ñ Ë Ò ÓÔ Õ Š Ö ¸ ÃÄ ÃÅ ¿  º – À” ³ ‘ ˜ « ±× § Ž ¢ ˜ µ – ¢ Ø « ±Ž § š › · Ž ‘  ˜   › ¢ • « ± Ù § Ù · ’ “ © ± ¥ ² ª  – ” ‘ ˜ × Ž˜ – Ø Žš › Ú Û ’ “ Ÿ    – ”¡ ¢ ‘ £ ˜ × ¤ ¥ Ž ˜ ¡ – ­ Ø ¤Ž ž ± § ‘ ¢  ¡ ’ « “ © ª ŸŸŸ §³­ ¤« ¾ ± ¥§ Ï ¡¢ ©® ª­   ¤ ± ¬± § Ç ¢ ¡¡ « ¹ © ©ª ª Ÿ ­ ¾ Ï ®   ±¬ Ç ¡ ¹ © ª

… † ‡ ˆ‰ Š ¸ ÃÄ ÃÅ ¿¿ ºº ÀÀ ³³ ¡¡ «« ¢¢ ¯Á ¡ ° ® ± ² ¨¥ ¯ ¯ ¤ ¤ ´ ´ § § ¢ ¢   ± §± § ¢ ¢ ¿¿¿ ººº ÀÀÀ ±³¥ ¥ ®¡ ¡ «¶ § ¡ ´ ¢ § ±· ¨ ¢ ±¸¬¸ ®¹« ¡ ¢³ ±¡ ¤¡ £§  ´£ ± §º´ ¢ ¶º ¶ ¡ « ¡ «Â ± § ±¢ § ¢ ¿  º Ž  À  ¬ ‘ ° ’ “± ² ¥ ¯ ¤ ´ § ¢  ± § ¢  ” Ž• Ž– ” ’ “  ”— ‘‘ • ŽŽ ˜šš ›™› ’ŽŽ “‘‘ ˜˜ ›› •• œœ ’’ ““  ” ‘‘ ŽŽ žž ‘‘  ’’ ““ ŸŸŸ  «« ¡¡ ¡ ¨¨ ¢¡¡ £ «« ¤¡¡ ¥§§ ¡¬¬ ¡¡ ¦ § ¯­ ¨ ¤®° ©±« ª²¥¡ § © ª¢ © ª ŸŸŸ ³³³ ®¡´ ««¢ µ¡¢ ¯ §± ¶ °¢ ¸² ±±§² ¹¥ · ³¯ ©¡ ¤ª © ´ª § ¢ © ª ŸŸ ³¬ °® ±« ² ¡¥ ¯§ ¢ ¤ © ª ´ § ¢ © ª ŸŸŸ ·±· ¥ ¡¡ ¡ ¢¢ §µ£ ¢ ±¡±¶¨ »± ¬© ¢ª µ® ¢ ± ±¶ ¤ © § ª £ ´ º ¶ ¡ « © ª ŸŸŸ ··¡ ¡¡§ ¢¢¥ ¼£ º §¤ ¤¥¥   º¡ ¢ ¯¦ ¤§ ° ¨ ¤±¢ ² ©¥© ª ª © ª Ÿ ½ ­ ¾ £ ¤ ¥ ¡ ©ª

… † Þ ÊŠ Š ‹ ˆ ˆ Œ ŸŸ ­½ ¾­ ¾ ¸ ¸« ¡ « ¡¡ С Ф ¤¤ ¢¤ © ª¢ © ª

ó ôËÕŠÖ ŸŸ ³½ ç« ± § ° ¢ ®© ª Ç ¡ ¹ © ª Ÿ ç ° ® Ç ¡ ¹ ©ª

… Ì Ë É Ë Ê ü ˆ ‰ ̊ ŸŸŸ ¥¡¥ ¤§¤ ¢¸¼ ± «¡ º¡   ¼¶ ¢ ©¡ºª ¥ ¶ © ª¡ ¥ © ª ŸŸŸ ³³³ ²«² ®® ¡ §§³ ®®® ««« ±¼®¢ ¹ ¢º ±¸ ¤ ¶¡ § ¡  ©¥ ª¢ © ©ª ª ŸŸ ­½ ­² ® ² §® ®§ «® ø « ø ¤ ¥¤ ¥´ ²´¡ ²¡© ª © ª õ ö ò Š ‰ … † Þ ÊŠ Š ŸŸ ÐÐ ¡¡ ³³ ²² ®® ¬¬ ¡¡ ­å ´® «² ¢Ð ± ® ¤ ² Ð ¢ ¤ © ª¤ ¢ © ª ŸŸŸ ¬¨¬ « ²²¤±± ¡¡ § §§ ¢ ©¢¢ ª­£ «¡ ± §» ¢¢µ µ ±¢ ¶ ® ©¢ ´ª   © ª ŸŸŸ ¬¬¬ ²²² ±±± ¡§¡ §¡§ ¢¢¢ µÁÐ ¡±± ¶· ¨ ¢ °Ð ¼ ¢ ±· §¼ °¥§ ¢º¥ © º ª ¤  ¤ ¢  © ¢ª © ª ŸŸ ¬Ð ² ¡± ¡ ¥ § ´ ¢ µ¬ ¢± ±¶ ¤ §Á ¡ © ª¨ ¢ © ª ŸŸŸ ¬¦Ð § ² ¡± ±¡ ¢ ³± §® ² ²®¢ ±ï î¬ ¡ ¡¡ ©¨ бª § ¤ ¡ ¤ ¼ ¢ © ºª ³ ¢¹ £ ¤ ¥ ¡ © ª ŸŸŸ ¡½¼ º¼º º³¶ ¢ ¶¡ ¹ ¡¥ä ¥­ ² ­¾­ ¾¡¸ « ¸« ¢ ¡± «§ ¡¡ ¡ ¡© ª§ © ª¢ £ ¤ ¥ ¡   © ª

… † Þ Ê Š Š Ý Š ‰ ð Š ßÓ É ‰ ÓÉ Î ˆ ñ ßò ˆ ˆ Ìâ … † Ñ Ë Ò ÓÔ Õ Š Ö Ý Þ ßà ß á â … † Í Š ËÎÕ Š Ö¸ ÃÄ ÃÅ ¿Ÿ º ´ À  ¡´ «  µ ¡ ¢ « « µ ´ ¢¬ « ¢¬ Ç ´ ¡ ¢ ǹ ©¡ ª ¹  ¸ ŸŸŸ ´´½   ­ ¡¡ ¾ «« µµ Á ¡¢¢ «« ®´´ ¨¬¬ Ç ¢¢ ¡¦¦ §§ ¹ ¨¢ ¤¡© ª «© §ª ® Ü Ü © ª

… † ÈÉ ŒŠ ÊÉ Ë ÌÕ Š Ö ¸ Ã Ä Ã Å ŸŸ ´´    ¡¡ «« µµ ¢¢ «« ´´ ¬¬ ¢¢ ¦¦ §§ ¢¨ ¡¤ «© §ª ® Ü Ü © ª ŸŸŸ ´½­   ­¾ ¡ ¾ ¦« § µ ¦ ¢§ ¡¢ «¢ «¡´ § «¬ ®§ ¢ ²Ç® Ç ²¡ ¡Ç ¹ ¹¡ © ©¹ª ª © ª … † ÈÉ Œ Š Ê É Ë Ì‡ ˆ ‰ ¸ Š Ã Ä Ã Å ¿¿¿ ººº ÀÀÀ  ¢º ¹ ¢ ®³® ¢¡« ´Æ  Â  ± §Â± § ±¢ §¢ ¢ ŸŸ ¢  ¹ ¢ ³® ¢¡ ´ © ª  © ª ŸŸŸ  ·º ¡¡ ® ¢¢ «¦¦ §§Æ ¢¢© ¡ª¡ «« §§ ®® ²² ©© ªª ŸŸŸ · ½ ¡¡­ ¢¢¾ ÇÇ ¡¡¦ § ¹¹ ¢ ©¡© ªª « § ® ² £ ¤ ¥ ¡ © ª Ÿ ­ ¾ ¦§ ¢ ¡ « § ® ² £ ¤ ¥ ¡ © ª

… † Í Š Ë Î Õ Š Ö Ý Š ‰ ð Š ßà ß ò ˆ ˆ Ì â

… † ‡ ˆ ‰ Š Õ Š Ö Ý Š ‰ ð Š ß Ó É ‰ Ó É Î ˆ ñ ßò ˆ ˆ Ì â

… † Í Š ˸ Î Ã Ä Ã Å ¿¿Ÿ ºº ¢ ¹ ÀÀ ³  º ¡ ¢ ®©® ª ¢« ´Æ    ± § ± §¢ ¢ ŸŸ  º ¢ ®® ¢« ´ Æ   © ª © ª ŸŸŸ ·   ¡¡¡ ¢¢¢ ¦Ç¦ §§ ¡ ¢¢ ¡¡¹ ««© §ª§ ®® ²² ©© ªª ŸŸŸ ·½­ ¡ ­¾ ¢ ¾ ÇÁ ¡¡Á ¹¡® ®¨© ª© ¨ª © ª

Šö ò Š‰ ÕŠÖ ŸŸŸ ³¡½ ¡«º ± § º ¶ ¢ ¡¶© ª ¥¡ Ç¥ ¡Ç ¹¡ ©¹ ª © ª … ÌË É Ë Ê Í Š Ë Î Õ ŠÄ Ö ŸŸŸ ³½­ « ­² ®± § ² §® ¢ ©®§ ª «® Á « ¡ Á ®¡ ¨® Ç ¨ ¡Ç ¹¡ © ¹ ª © ª

¸ ÃÄ ÃÅ … † Þ ÊŠŠ ¿¿ ºº ÀÀ §± ¥ ´ ¡ º § ¶¢ ± ¨¡ ± ¬ « æ® ¢ ±¨ ¤Á §¡ ®£ ã ´ ¡ º   ¶ ¡ «± § ¢ ± § ¢ ŸŸ «³ ¡ « ±º§ ¢¤ £ ã ¤ ¡ ¥ Ï ¡ ² ¤© ª ¬ Æ © ª ŸŸŸ ¬¬® °«¥ ¡ ¡¥ ® ¬ Á ¢ Æ¡¡ ¯ ®£ °ã ¤ ®¡ ¥ ±  §¡ Ð ä© ª´ § § ¥ ¸ ¯ ° ¤« ¤ ³ ´¹ · å °´ ²© ª ¯ ° ± ² ¥ « ¡ § © ª ŸŸŸ ¬¬¬ ²²² ±±± ¡¡¡ §§§ ¢¢¢ ­­­ ««« ±±± §§§ ¢¢¢ µ¸£ ¹¢¤ ®³ ¥ ¢¡´ ¡  © ¯ ª © ®ª ¢ ¡ · ¤ « ± ¡   © ª ŸŸŸ ¬¬¬ ²²² ±±± ¡¡¡ §§§ ¢¢¢ µµ£ ±±¡ ¶¶ » ÁÐ ¢µ ¡ ±· ±¨ °¶¢ © ¢ª© ©ª ª ŸŸ ¬¬ ²² ±± ¡§ §¡ ¢¢ ÐÁ ¡ ± · ¨ ¢ ° ¼ ¢ §¼ ¥§ º¥ º ¤ ¤  ¢  © ¢ª © ª ŸŸŸ ¨³« ´¡ ® ² º« ¯ ¢ ¤± °® ã ²± ¯²¡ ¥ «£° ¡ ±¤ ² §¥ ¥ ©« ¡¡ ª §å « © ¤ª º ¸ « ¡ ¡ © ª ŸŸŸ «¡² ± ¡§ » ºÆ¬ ¯° ¤ ®°ã § ¡± ² ·¥¯ ¡« °¡ £ ±§ ² ¥¤ æ¥ å ¡¨ «¾ ¤  £º© ª¤ µ ¥ ± ¶¡ ²  ± § © ª· © ª ŸŸŸ ¬¥® °¡¥ ¡ ¥ ¬¢ £ « Ƥ ¤ ¦¹¨¥ æ £ ¡ §¤¸ ¥² ¤¹ ¡ ¯£ © ¡°ª ±ç ² ¥ ­ © ª® « ¡ § ¢ © ª ŸŸ ¢¢ ¡¡ ºº ³³ ²² ®® ¢¢ ¡¡ ¾¾ èé ©© ªª ŸŸŸ ¢¢¢ ¡¡¡ ººº ³³³ ²²² ®®® ¢¢¢ ¡¡¡ ¾­­ ëì ê ©© © ªªª ŸŸŸ ¢¢¢ ¡¡¡ ººº ³³³ ²²² ®®® ¢¢¢ ¡¡¡ ­­­ èíé ©©© ªªª ŸŸ ¢¢ ¡¡ ºº ³³ ²² ®® ¢¢ ¡¡ Á­ ê ê ©© ª ª ŸŸŸ ÏÐÐ ´¡¡ ¥¥¶ ¶´´ ²¬¬ ¡ ¡¢ ±© ¤ª© ª§ © ª ŸŸŸ ¬¯¦ § ² ²±±¡¡ ¢ ± ®§® §¢² ±ï î £ ¡ ¡ ¤ ¨© ¥±ª § ¡ ¡ © ¥ª ¼ º ³ ¢¹ £ ¤ ¥ ¡ © ª ŸŸŸ ¡¨® « ¤¥º ¥§ ³ ¢£ ¢© ¹ª¡ £ ç ¤ Á ¥ ¡ ¡ ® © 㪠¡   ¸ ¤ ¸ « ¡ © ª

… ÌË É Ë Ê … † Þ Ê Š Š ŸŸ ÐÐ ¡¡ ³³ ²² ®® ¬¬ ¡¡ ­å ®´ ²« ¢ Ð ± ® ¤ ² Ð ¢ ¤ © ¤ª ¢ © ª ŸŸ ÐÐ ¡¡ ¥³ ´² ® ¬ ¬ ¢ ¡± ¤ Ð § ¤© ª ¤ ¢ © ª ŸŸŸ ¡¦½ § º­ ± ¢ ²³±®® ¢§² ¹± î® ä ¡ « ² ©­ ª­ ¾ ¡ ¸ « ¢ « ± §¡ ¡¡ §© ª ¢ £ ¤ ¥ ¡   © ª Ÿ ­ ²® § ® « ­ ¾ ¢ « ¡ ¡ © ª õ ö ò Š ‰ È É ‰ ÓÔ Ë Œ ˆ Ê ŸŸ  · ¡¡ ¢¢ ¦¦ §§ ¢¢ ¡¡ «« §§ ®® ²² ©© ªª ŸŸ  · ¡¡ ¢¢ ÇÇ ¡¡ ¹¹ ©© ªª ŸŸŸ  ¢º ¹ ¢ ®³® ¢¡« ´Æ ©  ª © ª © ª ŸŸ ¼½ ¼º º ¶ ¡¶ ¥¡ ¦¥ § ¦ ¥§ ±¥ ¬ ± ®¬ ¢® ¤ ¢ «¤ © «ª ¡ © ª

… † ‡ ˆ ‰ Š Ý Š ‰ ð Š ß ÓÉ ‰ Ó É Î ˆ ñ ßò ˆ ˆ Ì â

Ë Ò Œ … ÌË É Ë Ê þ ò ð Ê Ë ô ŸŸ ³¬ ®² ® ² § © ®ª « ± î ¡ © ª ŸŸ ½å å® ®  ¢  ­ ¢ ­² ® ² ®§ ®§ «® µ « µ´ ¶´ ¶· ·« ® « ³® ³° °© ª © ª 



¿¿ ºº ÀÀ §³ ¤¡ ¢« ¢ Á ó ±   ¡ ô ± ® ¢ Ë ¡ ¨ ¯ Ó ¥ É ¯
Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.