समग्र संरचना आरेख

एकीकृत मॉडलिंग भाषा (यूएमएल) में समग्र संरचना आरेख प्रकार का स्थिर संरचना आरेख है, इस प्रकार जो वर्ग (कंप्यूटर विज्ञान) की आंतरिक संरचना और इस संरचना द्वारा संभव बनाए गए सहयोग को दर्शाता है।

इस आरेख में आंतरिक भाग, पोर्ट सम्मिलित हो सकते हैं जिसके माध्यम से भाग एक-दूसरे के साथ इंटरैक्ट करते हैं या जिसके माध्यम से वर्ग के उदाहरण भागों के साथ और बाहरी संसार के साथ इंटरैक्ट करते हैं, और भागों के बीच कनेक्टर सम्मिलित हो सकते हैं। पोर्ट समग्र संरचना परस्पर जुड़े तत्वों का समूह है जो किसी उद्देश्य को प्राप्त करने के लिए रनटाइम पर सहयोग करता है। इस प्रकार सहयोग में प्रत्येक तत्व की कुछ परिभाषित रोल होती है।

अवधारणाएँ
यूएमएल 2.0 विनिर्देश में पहचानी गई प्रमुख समग्र संरचना इकाइयां संरचित क्लासिफायर, पार्ट्स, पोर्ट, कनेक्टर और सहयोग हैं।
 * भाग: विशिष्ट ठोस वर्ग का नाम बताएं। भाग में बहुलता कारक सम्मिलित हो सकता है, जैसे कि चित्र में व्यूअर [0..*] के लिए दिखाया गया है।
 * पोर्ट: पोर्ट इंटरेक्शन पॉइंट है जिसका उपयोग संरचित क्लासिफायर को उनके भागों और पर्यावरण के साथ जोड़ने के लिए किया जा सकता है। पोर्ट वैकल्पिक रूप से उन सेवाओं को निर्दिष्ट कर सकते हैं जो वे प्रदान करते हैं और जिन सेवाओं की उन्हें सिस्टम के अन्य भागो से आवश्यकता होती है। आरेख में, प्रत्येक छोटा वर्ग पोर्ट है। प्रत्येक पोर्ट का प्रकार होता है और उसे नाम से लेबल किया जाता है, जैसे वीएआर, इंडवार1 , या आरेख में देखें। पोर्ट में बहुलता कारक हो सकता है, उदाहरण के लिए [3]।


 * पोर्ट या तो प्राप्त अनुरोधों को आंतरिक भागों को दे सकते हैं, या वे इन्हें सीधे संरचित क्लासिफायरियर के व्यवहार में वितरित कर सकते हैं जिसमें पोर्ट सम्मिलित है। सार्वजनिक पोर्ट जो पर्यावरण में दिखाई देते हैं उन्हें सीमा के अंदर दिखाया जाता है, जबकि संरक्षित पोर्ट जो पर्यावरण में दिखाई नहीं देते हैं उन्हें सीमा के अंदर दिखाया जाता है। इस प्रकार फाइबोनैचि सिस्टम की दाहिनी सीमा पर व्यू पोर्ट को छोड़कर, आरेख में सभी पोर्ट सार्वजनिक हैं।


 * कनेक्टर: कनेक्टर दो या दो से अधिक इकाइयों को साथ बांधता है, जिससे उन्हें रनटाइम पर इंटरैक्ट करने की अनुमति मिलती है। इस प्रकार कनेक्टर को भागों, पोर्ट और संरचित क्लासिफायरियर (यूएमएल) के कुछ संयोजन के बीच रेखा के रूप में दिखाया गया है। इस प्रकार आरेख पोर्ट के बीच तीन कनेक्टर दिखाता है, और संरचित क्लासिफायरियर और भाग के बीच कनेक्टर दिखाता है।
 * सहयोग: सहयोग सामान्यतः संरचित वर्गीकरणकर्ता की तुलना में अधिक अर्थपूर्ण होता है। इसे वृत्ताकार अंडाकार के रूप में दिखाया गया है जिसमें ऐसी भूमिकाएँ हैं जो उदाहरण सहयोग में पूरा कर सकते हैं।
 * संरचित क्लासिफायर: स्ट्रक्चर्ड क्लासिफायर वर्ग का प्रतिनिधित्व करता है, अधिकांशतः एब्स्ट्रेक्ट वर्ग, जिसका व्यवहार भागों के बीच इंटरैक्ट के माध्यम से पूरी तरह या आंशिक रूप से वर्णित किया जा सकता है।
 * एनकैप्सुलेटेड क्लासिफायर: एनकैप्सुलेटेड क्लासिफायर प्रकार का संरचित क्लासिफायर है जिसमें पोर्ट होते हैं। इस प्रकार नीचे दिए गए कंपोजिट स्ट्रक्चर डायग्राम कम्पोजिट स्ट्रक्चर डायग्राम उदाहरण में, फाइबोनैचि सिस्टम और वेरिएबल दोनों इनकैप्सुलेटेड क्लासिफायर हैं क्योंकि दोनों की सीमाओं के साथ पोर्ट हैं।

उदाहरण
उदाहरण के रूप में, फाइबोनैचि अनुक्रम के मॉडलिंग उत्पादन के संभावित विधि पर विचार करें।

यह यूएमएल 2.0 समग्र संरचना आरेख निर्दिष्ट करता है कि 'फाइबोनैचि सिस्टम' वर्ग के उदाहरण कई भागों से बने होते हैं। इनमें से सबसे ऊपरी भाग की पहचान क्लासिफायरियर 'फाइबोनैचिफंक्शन' के रूप में की गई है। तीन भागों की पहचान फाइबोनैचि सिस्टम के उदाहरणों में उनकी रोल से की जाती है - एनमाइनस2 रोल, एनमाइनस1 रोल और N रोल का होता है। इसके क्लासिफायरियर व्यूअर द्वारा पहचाने गए पांचवें भाग में बहुलता विशिष्टता सम्मिलित है। इस प्रकार रनटाइम पर व्यूअर के 0 या अधिक उदाहरण या व्यूअर के कुछ ठोस उपवर्ग हो सकते हैं।

रनटाइम पर इन तीन भूमिकाओं को प्रयुक्त करने वाले क्लास इंस्टेंस को अपने वीएआर पोर्ट के माध्यम से आईवीएआर इंटरफ़ेस द्वारा निर्दिष्ट सेवाएं प्रदान करनी होती है। ऐसा ही वर्ग वेरिएबल है, जिसे आरेख पर वीएआर प्रकार के वीएआर नामक पोर्ट के साथ दिखाया गया है जो आईवीएआर इंटरफ़ेस का अनुभव कराता है।

व्यू नामक पोर्ट गैर-सार्वजनिक पोर्ट है जिसका उपयोग व्यूअर के वैकल्पिक इंस्टेंस तक पहुंचने के लिए फाइबोनैचि सिस्टम के इंस्टेंस द्वारा किया जा सकता है।

== संदर्भ                                                                                                                                                                                                                                       ==

==बाहरी संबंध                                                                                                                                                                                                   ==
 * General information on UML including the official UML 2.0 specification. See especially the large section on Composite Structures.
 * The Xholon open-source project maintains a set of links having to do with composite structure.
 * UML 2 Composite Structure Diagrams