एक समय आरेख क्या है?
एक समय आरेख एक विशेष व्यवहारात्मक UML आरेख रेखीय समय रेखा के साथ राज्यों के ठीक समयावधि और उन राज्यों के परिवर्तन की सटीक स्थितियों को दृश्यमान करने के लिए डिज़ाइन किया गया है। समन्वित मॉडलिंग भाषा (UML) विनिर्माण का एक महत्वपूर्ण हिस्सा होने के नाते, इस विशिष्ट UML आरेख प्रकार कठोर समय सीमाओं, घड़ी चक्करों और तरंग संकेतों पर भारी ध्यान केंद्रित करता है। यह तरंगरूपों या चरण रेखाओं का अनुसरण करता है ताकि स्पष्ट रूप से दिखाया जा सके कि एक वस्तु कितनी देर तक एक विशिष्ट स्थिति में रहती है जब तक एक बाहरी ट्रिगर उसकी स्थिति नहीं बदल देता है।
समय नक्शे का उपयोग एम्बेडेड सिस्टम इंजीनियरों, नेटवर्क प्रोटोकॉल विकासकर्ताओं और हार्डवेयर आर्किटेक्ट्स द्वारा दौड़ स्थितियों के मॉडलिंग, थ्रेड जीवनचक्र परिवर्तनों का अनुसरण करने या हार्डवेयर रजिस्टर संक्रमण के नक्शा बनाने के लिए किया जाता है। साथ में VPasCode, आपको पिक्सेल चौड़ाई की हाथ से गणना या समय रेखा निर्देशांक का नक्शा बनाने की आवश्यकता नहीं है। हमारा रेंडरिंग इंजन आपके साधारण पाठ स्क्रिप्ट्स के आधार पर पूरी समय जाली को स्वचालित रूप से संभालता है।
मूल सिंटैक्स गाइड: तत्व और निर्माण
PlantUML में एक सटीक, मानक-अनुपालन युक्त UML समय आरेख डिज़ाइन करने के लिए, आपको सहभागी प्रकार, राज्य परिभाषाएं, समय अंतराल और समन्वय सीमाओं को समझना होगा।
1. सहभागियों की घोषणा (मजबूत बनाम संक्षिप्त)
आप अपनी प्रणाली की आवश्यकता के अनुसार दो अलग-अलग दृश्य शैलियों का उपयोग करके समय रेखाओं के मॉडल को बना सकते हैं। आपको उन्हें स्पष्ट कीवर्ड का उपयोग करके घोषित करना होगा:
- मजबूत समय रेखाएं: राज्यों को अलग-अलग, ढेर लगाए गए पंक्तियों के रूप में प्रदर्शित करता है। उच्च स्तरीय सॉफ्टवेयर प्रक्रियाओं के लिए आदर्श है।
मजबूत "एप्लीकेशन थ्रेड" के रूप में थ्रेड - संक्षिप्त समय रेखाएं: एकल समतल रेखा के साथ राज्यों को प्रदर्शित करता है, परिवर्तन को दर्शाने के लिए क्रॉस-हैच्ड ब्लॉक का उपयोग करता है। संक्षिप्त हार्डवेयर सिग्नल नक्शों के लिए आदर्श है।
संक्षिप्त "CPU रजिस्टर" के रूप में रेग
2. राज्य संक्रमण और समय चरण को परिभाषित करना
अन्य आरेखों के विपरीत, आप समय चेकपॉइंट के उपयोग से राज्यों को बदलते हैं, जिसमें @ प्रतीक, अपने सहभागी के संदर्भ में, और है कीवर्ड का उपयोग करते हैं। राज्य नामों में स्थान या विशेष अक्षर होने पर उन्हें उद्धरण चिह्नों में लपेटना होगा:
@0
थ्रेड आराम में है
@10
थ्रेड "डेटा प्रोसेसिंग" में है
3. घड़ी संकेतों का उत्पादन करना
बाइनरी हार्डवेयर घड़ियों का नकली रूप बनाने के लिए, उपयोग करें घड़ी कीवर्ड। आपको एक चक्कर अवधि, एक वैकल्पिक ड्यूटी साइकिल, और आ inter nal नाम निर्दिष्ट करना होगा:
घड़ी "सिस्टम घड़ी" के रूप में CLK अवधि 2 के साथ
4. सटीकता सीमाओं और समय शीटों को जोड़ना
कठोर निष्पादन समय सीमाओं को दस्तावेज़ीकरण करने के लिए (जैसे एक सिस्टम संक्रमण के एक निर्दिष्ट खंड में होने की गारंटी देने के लिए), उपयोग करें <-> सिंटैक्स दो समय निर्देशांकों को एक वर्णनात्मक लेबल के साथ जोड़ने के लिए:
@10 <-> @40 : {30ms से कम}
साफ समय व्यवस्था के लिए सर्वोत्तम व्यवहार
- समय इकाइयों को समान रखें: प्लांटयूएमएल समय रेखा पूर्णांकों को सामान्य क्रमबद्ध चरणों के रूप में मानता है। अपने प्रोजेक्ट के लिए एक समान समय इकाई चुनें (उदाहरण के लिए, टिक्स, माइक्रोसेकंड या सेकंड) और इसे निरंतर रखें।
- जटिल संक्रमणों के लिए लेबल का उपयोग करें: आप राज्य परिवर्तन पर सीधे पाठ संदेश जोड़ सकते हैं, राज्य निर्देशन के तुरंत बाद दाएं बिंदु जोड़कर (उदाहरण के लिए,
@10nReg पढ़ रहा है : "इंटरपट ट्रिगर करें"). - घोषनाओं को रणनीतिक रूप से व्यवस्थित करें: प्लांटयूएमएल लाइफलाइन्स को अपने स्क्रिप्ट में घोषित किए गए ठीक क्रम में ऊर्ध्वाधर रूप से लगाता है। हमेशा अपनी मास्टर घड़ियों को सबसे ऊपर रखें ताकि संरेखण आसान हो।
वास्तविक दुनिया के प्लांटयूएमएल समय आरेख उदाहरण
उदाहरण 1: माइक्रोकंट्रोलर कैश और रजिस्टर अवस्थाएं (संक्षिप्त और घड़ी तरंगें)
यह चलाने योग्य ब्लूप्रिंट एक पारंपरिक एम्बेडेड हार्डवेयर इंजीनियरिंग समय रेखा का प्रदर्शन करता है, जिसमें एक मानक सिस्टम घड़ी एक संक्षिप्त डेटा स्टोरेज रजिस्टर के साथ चल रही है जो हार्डवेयर अवस्थाओं को ट्रैक कर रही है।
@startuml
clock "सिस्टम घड़ी (CLK)" के रूप में clk अवधि 2 के साथ
concise "डेटा बस रजिस्टर" के रूप में Reg
@0
Reg खाली है
@2
Reg पढ़ रहा है : "प्राप्त करें"
@6
Reg लिख रहा है
@10
Reg लॉक किया हुआ है
@14
Reg खाली है
@enduml 
सिंटैक्स विश्लेषण: द घड़ी निर्देश एक गतिशील उच्च/निम्न वर्ग तरंग स्वतः बनाता है। द रेज लाइन निरपेक्ष समय ग्रिड पर कई राज्य निर्धारणों को क्रमिक रूप से संभालती है। दाएं ओर बिंदु (जैसे : "प्राप्त करें") संक्रमण सीमा रेखा के ठीक ऊपर स्पष्ट कॉलआउट के रूप में प्रदर्शित होते हैं।
उदाहरण 2: एसिंक वेब उपभोक्ता टोकन ताजा करना (मजबूत बहु-थ्रेड प्रतिबंध)
यह उन्नत, पूरी तरह से कार्यात्मक सॉफ्टवेयर आर्किटेक्चर ब्लूप्रिंट बहु-थ्रेडेड वेब एप्लिकेशन वर्कफ्लो का अनुसरण करने के लिए मजबूत लेआउट प्रारूप का उपयोग करता है, जो वेब क्लाइंट और अनुमति देने वाले कर्मचारी के बीच सटीक समय सीमा को मैप करता है।
@startuml
मजबूत "वेब ब्राउज़र क्लाइंट" को Web के रूप में नामित करें
मजबूत "प्रमाणीकरण टोकन कर्मचारी" को Auth के रूप में नामित करें
@0
Web अप्रतिक्रियाशील है
Auth सो रहा है
@5
Web टोकन की प्रतीक्षा कर रहा है
Auth प्रमाणीकरण कर रहा है
@15
Auth उत्पादन कर रहा है
@15 <-> @25 : {उत्पादन खंड}
@25
Auth सो रहा है
Web पृष्ठ रेंडर कर रहा है
@40
Web अप्रतिक्रियाशील है
@enduml 
सिंटैक्स विश्लेषण: द्वारा मजबूत घोषणा के उपयोग से, राज्यों को प्रत्येक अलग लाइफलाइन पंक्ति के लिए Y-अक्ष पर स्पष्ट रूप से सूचीबद्ध किया जाता है। समय मूल्यांकन सीमा (@15 <-> @25 : {उत्पादन खंड}) समय रेखा ग्रिड के शीर्ष पर एक मानक दो-तरफा आयाम तीर खींचता है, जो कठोर संचालन सीमा को इंगित करता है।