634:
22:
382:
327:
is an interaction point that can be used to connect structured classifiers with their parts and with the environment. Ports can optionally specify the services they provide and the services they require from other parts of the system. In the diagram, each of the small squares is a port. Each port has
333:
Ports can either delegate received requests to internal parts, or they can deliver these directly to the behavior of the structured classifier that the port is contained within. Public ports that are visible in the environment are shown straddling the boundary, while protected ports that are not
396:
This UML 2.0 composite structure diagram specifies that instances of the 'FibonacciSystem' class are composed of a number of parts. The topmost of these parts is identified as having the classifier 'FibonacciFunction'. Three of the parts are identified by the role they play within instances of
230:
334:
visible in the environment are shown inside the boundary. All the ports in the diagram are public, except for the view port along the right boundary of
FibonacciSystem.
343:
binds two or more entities together, allowing them to interact at runtime. The connector is shown as a line between some combination of parts, ports and structured
566:
300:
The key composite structure entities identified in the UML 2.0 specification are structured classifiers, parts, ports, connectors, and collaborations.
354:
is generally more abstract than a structured classifier. It is shown as a dotted oval containing roles that instances can play in the collaboration.
280:
through which the parts interact with each other or through which instances of the class interact with the parts and with the outside world, and
328:
a type and is labelled with a name, such as "var", "indVar1", or "view" in the diagram. Ports may contain a multiplicity factor, for example .
39:
86:
1031:
995:
237:
361:
represents a class, often an abstract class, whose behavior can be completely or partially described through interactions between parts.
58:
944:
206:
797:
778:
533:
320:, or it may name a specific concrete class. The part can include a multiplicity factor, such as the shown for Viewer in the diagram.
417:, includes a multiplicity specification. At runtime there can be 0 or more instances of Viewer or some concrete subclass of Viewer.
529:
65:
501:
1005:
559:
706:
72:
372:
below, both
FibonacciSystem and Variable are encapsulated classifiers because they both have ports along their boundaries.
660:
54:
552:
288:
is a set of interconnected elements that collaborate at runtime to achieve some purpose. Each element has some defined
105:
788:
347:. The diagram shows three connectors between ports, and one connector between a structured classifier and a part.
43:
121:
752:
317:
939:
696:
420:
At runtime the class instances that implement these three roles must provide the services specified by the
191:
655:
79:
525:
including the official UML 2.0 specification. See especially the large section on
Composite Structures.
223:
964:
711:
575:
313:
254:
1010:
1000:
974:
757:
665:
262:
258:
594:
483:
479:
32:
539:
929:
686:
186:
835:
8:
877:
783:
498:
390:
150:
908:
867:
201:
140:
934:
913:
903:
819:
633:
344:
309:
211:
196:
181:
887:
747:
721:
701:
505:
165:
160:
979:
882:
793:
737:
691:
621:
155:
447:
The port named "view" is a non-public port that can be used by an instance of
381:
1025:
862:
814:
716:
616:
135:
544:
599:
742:
681:
611:
486:
Standards
Development Organization (OMG SDO). December 2017. p. 728.
473:
389:
As an example, consider one possible way of modeling production of the
21:
762:
499:
OMG Unified
Modeling Language (OMG UML), Superstructure, V2.1.2
368:
is a type of structured classifier that contains ports. In the
316:. The part may only name the role, it may name an abstract
969:
308:
represents a role played at runtime by one instance of a
369:
522:
413:role. The fifth part, identified by its classifier
46:. Unsourced material may be challenged and removed.
1023:
574:
560:
490:
231:
567:
553:
238:
224:
432:, shown on the diagram with a port named
106:Learn how and when to remove this message
380:
1006:List of Unified Modeling Language tools
261:that shows the internal structure of a
1024:
536:having to do with composite structure.
451:to access the optional instance(s) of
548:
385:UML 2.0 composite structure diagram.
269:that this structure makes possible.
44:adding citations to reliable sources
15:
661:Object-oriented analysis and design
482:Document Number formal/2017-12-05.
13:
1032:Unified Modeling Language diagrams
540:UML 2 Composite Structure Diagrams
465:
364:Encapsulated classifier : An
272:This diagram can include internal
14:
1043:
965:Systems Modeling Language (SysML)
516:
632:
532:open-source project maintains a
20:
475:Unified Modeling Language 2.5.1
472:"Composite Structure Diagram".
357:Structured classifier : A
31:needs additional citations for
975:XML Metadata Interchange (XMI)
1:
458:
55:"Composite structure diagram"
192:Interaction overview diagram
7:
656:Object-oriented programming
376:
295:
251:Composite structure diagram
146:Composite structure diagram
10:
1048:
523:General information on UML
284:between parts or ports. A
988:
970:UML eXchange Format (UXF)
957:
922:
896:
855:
848:
828:
807:
771:
730:
674:
648:
641:
630:
582:
576:Unified Modeling Language
428:ports. One such class is
255:Unified Modeling Language
1011:Object Modeling in Color
1001:Rational Unified Process
666:Object-oriented modeling
424:interface through their
259:static structure diagram
595:Object Management Group
484:Object Management Group
350:Collaboration : A
174:Behavioral UML diagrams
128:Structural UML diagrams
386:
366:EncapsulatedClassifier
312:or by a collection of
292:in the collaboration.
996:Glossary of UML terms
980:Executable UML (xUML)
384:
187:Communication diagram
940:Interaction overview
359:StructuredClassifier
40:improve this article
873:Composite structure
339:Connector : A
286:composite structure
257:(UML) is a type of
504:2010-09-23 at the
440:that realizes the
391:Fibonacci sequence
387:
151:Deployment diagram
1019:
1018:
958:Derived languages
953:
952:
844:
843:
248:
247:
141:Component diagram
122:UML diagram types
116:
115:
108:
90:
1039:
853:
852:
646:
645:
636:
569:
562:
555:
546:
545:
510:
494:
488:
487:
469:
240:
233:
226:
212:Use case diagram
197:Sequence diagram
182:Activity diagram
118:
117:
111:
104:
100:
97:
91:
89:
48:
24:
16:
1047:
1046:
1042:
1041:
1040:
1038:
1037:
1036:
1022:
1021:
1020:
1015:
984:
949:
918:
892:
840:
824:
803:
767:
726:
722:Profile diagram
670:
649:Object oriented
637:
628:
578:
573:
519:
514:
513:
506:Wayback Machine
495:
491:
471:
470:
466:
461:
449:FibonacciSystem
399:FibonacciSystem
379:
298:
244:
166:Profile diagram
161:Package diagram
112:
101:
95:
92:
49:
47:
37:
25:
12:
11:
5:
1045:
1035:
1034:
1017:
1016:
1014:
1013:
1008:
1003:
998:
992:
990:
986:
985:
983:
982:
977:
972:
967:
961:
959:
955:
954:
951:
950:
948:
947:
942:
937:
932:
930:Communications
926:
924:
920:
919:
917:
916:
911:
906:
900:
898:
894:
893:
891:
890:
885:
880:
875:
870:
865:
859:
857:
850:
846:
845:
842:
841:
839:
838:
832:
830:
826:
825:
823:
822:
817:
811:
809:
805:
804:
802:
801:
794:Generalization
791:
786:
781:
775:
773:
769:
768:
766:
765:
760:
755:
750:
745:
740:
734:
732:
728:
727:
725:
724:
719:
714:
709:
704:
699:
694:
689:
684:
678:
676:
672:
671:
669:
668:
663:
658:
652:
650:
643:
639:
638:
631:
629:
627:
626:
625:
624:
622:James Rumbaugh
619:
614:
604:
603:
602:
597:
586:
584:
580:
579:
572:
571:
564:
557:
549:
543:
542:
537:
526:
518:
517:External links
515:
512:
511:
489:
463:
462:
460:
457:
409:role, and the
378:
375:
374:
373:
362:
355:
348:
336:
335:
330:
329:
323:Port : A
321:
304:Part : A
297:
294:
267:collaborations
246:
245:
243:
242:
235:
228:
220:
217:
216:
215:
214:
209:
207:Timing diagram
204:
199:
194:
189:
184:
176:
175:
171:
170:
169:
168:
163:
158:
156:Object diagram
153:
148:
143:
138:
130:
129:
125:
124:
114:
113:
28:
26:
19:
9:
6:
4:
3:
2:
1044:
1033:
1030:
1029:
1027:
1012:
1009:
1007:
1004:
1002:
999:
997:
994:
993:
991:
987:
981:
978:
976:
973:
971:
968:
966:
963:
962:
960:
956:
946:
943:
941:
938:
936:
933:
931:
928:
927:
925:
921:
915:
912:
910:
909:State Machine
907:
905:
902:
901:
899:
895:
889:
886:
884:
881:
879:
876:
874:
871:
869:
866:
864:
861:
860:
858:
854:
851:
847:
837:
834:
833:
831:
827:
821:
818:
816:
813:
812:
810:
808:Extensibility
806:
799:
795:
792:
790:
787:
785:
782:
780:
777:
776:
774:
772:Relationships
770:
764:
761:
759:
756:
754:
751:
749:
746:
744:
741:
739:
736:
735:
733:
729:
723:
720:
718:
715:
713:
710:
708:
705:
703:
700:
698:
695:
693:
690:
688:
685:
683:
680:
679:
677:
673:
667:
664:
662:
659:
657:
654:
653:
651:
647:
644:
640:
635:
623:
620:
618:
617:Ivar Jacobson
615:
613:
610:
609:
608:
605:
601:
598:
596:
593:
592:
591:
590:Organizations
588:
587:
585:
581:
577:
570:
565:
563:
558:
556:
551:
550:
547:
541:
538:
535:
531:
527:
524:
521:
520:
508:
507:
503:
500:
493:
485:
481:
477:
476:
468:
464:
456:
454:
450:
445:
443:
439:
435:
431:
427:
423:
418:
416:
412:
408:
404:
400:
394:
392:
383:
371:
367:
363:
360:
356:
353:
352:collaboration
349:
346:
342:
338:
337:
332:
331:
326:
322:
319:
315:
311:
307:
303:
302:
301:
293:
291:
287:
283:
279:
275:
270:
268:
264:
260:
256:
252:
241:
236:
234:
229:
227:
222:
221:
219:
218:
213:
210:
208:
205:
203:
202:State diagram
200:
198:
195:
193:
190:
188:
185:
183:
180:
179:
178:
177:
173:
172:
167:
164:
162:
159:
157:
154:
152:
149:
147:
144:
142:
139:
137:
136:Class diagram
134:
133:
132:
131:
127:
126:
123:
120:
119:
110:
107:
99:
88:
85:
81:
78:
74:
71:
67:
64:
60:
57: –
56:
52:
51:Find sources:
45:
41:
35:
34:
29:This article
27:
23:
18:
17:
989:Other topics
872:
836:Multiplicity
606:
600:UML Partners
589:
534:set of links
497:
496:OMG (2008).
492:
474:
467:
452:
448:
446:
441:
437:
433:
429:
425:
421:
419:
414:
410:
406:
402:
398:
395:
388:
365:
358:
351:
340:
324:
305:
299:
289:
285:
281:
277:
273:
271:
266:
250:
249:
145:
102:
93:
83:
76:
69:
62:
50:
38:Please help
33:verification
30:
923:Interaction
798:Inheritance
784:Composition
779:Association
612:Grady Booch
444:interface.
345:classifiers
878:Deployment
820:Stereotype
789:Dependency
509:p.161-192.
459:References
405:role, the
318:superclass
310:classifier
282:connectors
66:newspapers
897:Behaviour
868:Component
856:Structure
707:Interface
702:Component
687:Attribute
675:Structure
341:connector
314:instances
96:July 2008
1026:Category
935:Sequence
914:Use case
904:Activity
849:Diagrams
763:Use case
738:Activity
731:Behavior
692:Artifact
642:Concepts
502:Archived
436:of type
430:Variable
377:Examples
296:Concepts
265:and the
888:Package
815:Profile
748:Message
717:Package
607:Persons
407:NMinus1
403:NMinus2
370:diagram
253:in the
80:scholar
945:Timing
883:Object
753:Method
712:Object
583:Actors
530:Xholon
453:Viewer
415:Viewer
401:- the
82:
75:
68:
61:
53:
863:Class
829:Other
758:State
743:Event
697:Class
682:Actor
278:ports
274:parts
263:class
87:JSTOR
73:books
796:(or
528:The
442:IVar
422:IVar
325:port
306:part
290:role
59:news
480:OMG
438:Var
434:var
426:var
42:by
1028::
478:.
455:.
393:.
276:,
800:)
568:e
561:t
554:v
411:N
239:e
232:t
225:v
109:)
103:(
98:)
94:(
84:·
77:·
70:·
63:·
36:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.