← नवीनतम पेपर
💬 NLP

ESBMC-PLC: Formal Verification of IEC 61131-3 Ladder Diagram Programs Using SMT-Based Model Checking

यह शोध पत्र ESBMC-PLC को प्रस्तुत करता है, जो पहला ओपन-सोर्स फॉर्मल वेरिफायर है जो IEC 61131-3 लैडर डायग्राम प्रोग्रामों को SMT-आधारित मॉडल चेकिंग के लिए एक इंटरमीडिएट रिप्रेजेंटेशन में अनुवादित करके उन्हें नेटिव रूप से सपोर्ट करता है, जिससे क्षेत्र में मौजूद प्रमुख अनुसंधान अंतराल को संबोधित करते हुए विविध औद्योगिक बेंचमार्क में सुरक्षा गुणों को सफलतापूर्वक सत्यापित करना और बग्स का पता लगाना संभव होता है।

मूल लेखक: Pierre Dantas, Lucas Cordeiro, Waldir Junior

प्रकाशित 2026-06-16
📖 5 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Pierre Dantas, Lucas Cordeiro, Waldir Junior

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

एक ऐसे कारखाने के फर्श की कल्पना करें जहाँ विशाल मशीनें, केमिकल मिक्सर और ट्रेन सिग्नल एक छोटे, अथक मस्तिष्क द्वारा नियंत्रित होते हैं जिसे PLC (प्रोग्रामेबल लॉजिक कंट्रोलर) कहा जाता है। ये मशीनें एक विशेष प्रकार की निर्देश पुस्तिका पर चलती हैं जिसे लैडर डायग्राम (Ladder Diagram) कहा जाता है। इसे एक सीढ़ी के चित्र की तरह समझें जहाँ हर "रंग" (rung) एक नियम है: "यदि लाल लाइट चालू है और बटन दबाया गया है, तो मोटर चालू करें।"

द दशकों से, इंजीनियर इन नियमों को टाइप करने के बजाय उन्हें बनाकर (ड्राइंग के रूप में) लिखते आए हैं। इसने आधुनिक "सुरक्षा निरीक्षकों" (फॉर्मल वेरिफिकेशन टूल्स) के लिए नियमों को पूरी तरह से जांचना बहुत कठिन बना दिया, क्योंकि निरीक्षक केवल टेक्स्ट-आधारित कोड को समझते थे, ड्राइंग को नहीं।

यह पेपर ESBC-PLC नामक एक नए टूल का परिचय देता है, जो एक यूनिवर्सल ट्रांसलेटर (सार्वदर्शी अनुवादक) और एक अति-सख्त सुरक्षा निरीक्षक दोनों का काम करता है।

यह कैसे काम करता है, इसके सरल उपमाओं (analogies) का उपयोग यहाँ दिया गया है:

1. अनुवादक (The "Rosetta Stone")

इस टूल से पहले, आप कंप्यूटर से किसी ड्राइंग की जांच करने के लिए नहीं कह सकते थे। ESBC-PLC उस ग्राफिकल "लैडर डायग्राम" (ड्राइंग) को लेता है और उसे तुरंत उस भाषा में अनुवादित कर देता है जिसे कंप्यूटर समझता है (एक टेक्स्ट-आधारित इंटरमीडिएट कोड)।

  • उपमा: कल्पना करें कि आपके पास एक स्केचबुक में चित्रों के साथ एक रेसिपी लिखी है। ESBC-PLC वह शेफ है जो उन चित्रों को देखता है और तुरंत सटीक लिखित निर्देश लिख देता है: "2 कप आटा डालें, फिर मिलाएं।" अब, कंप्यूटर उस रेसिपी को पढ़ सकता है।

2. सिम्युलेटर (The "Time-Traveling Loop")

एक PLC केवल एक बार नहीं चलता; यह हजारों बार प्रति सेकंड सेंसरों की जांच करने और आउटपुट बदलने के लिए एक लूप में चलता है।

  • उपमा: अधिकांश सुरक्षा जांच समय के एक क्षण को देखती हैं। ESBC-PLC एक समय-यात्रा करने वाले सिम्युलेटर की तरह है जो कारखाने के एक "दिन" को बार-बार चलाता है। लेकिन केवल एक विशिष्ट दिन को दोबारा चलाने के बजाय, यह हर संभावित दिन का सिमुलेशन करता है। यह पूछता है: "क्या होगा यदि सेंसर खराब हो जाए? क्या होगा यदि बटन को दो बार दबाया जाए? क्या होगा यदि बिजली झपकी मार जाए?" यह घटनाओं के हर संयोजन की जांच करता है ताकि यह देखा जा सके कि क्या कोई आपदा आ सकती है।

3. "अनबाउंडेड" प्रमाण (The "Forever Guarantee")

पुराने टूल्स केवल सीमित चरणों की जांच कर सकते थे (जैसे कारखाने के जीवन के पहले 100 दिनों की जांच करना)। यदि 101वें दिन कोई बग आता, तो वे उसे मिस कर देते।

  • उपमा: ESBC-PLC एक विशेष गणितीय ट्रिक का उपयोग करता है जिसे k-induction कहा जाता है। दिनों को एक-एक करके गिनने के बजाय, यह एक नियम को सिद्ध करता है जो कहता है, "यदि कारखाना आज सुरक्षित है, और नियमों का पालन किया जाता है, तो यह कल भी सुरक्षित रहेगा, और उसके अगले दिन भी, और हमेशा के लिए।" यह एक हमेशा के लिए गारंटी देता है कि मशीन कभी क्रैश नहीं होगी, बशर्ते नियमों का पालन किया जाए।

4. "नो-लॉजिक" भाषा (The "Plain English" Checklist)

आमतौर पर, कंप्यूटर से सुरक्षा पूछने के लिए आपको जटिल गणितीय तर्क (टेम्पोरल लॉजिक) जानने की आवश्यकता होती थी।

  • उपमा: ESBC-PLC इंजीनियरों को एक सरल YAML चेकलिस्ट (एक टू-डू लिस्ट की तरह) में सुरक्षा नियम लिखने की अनुमति देता है।
    • इसके बजाय: "सभी समय t के लिए, यदि A सत्य है तो B असत्य होना चाहिए।"
    • आप लिखते हैं: "मोटर और रिवर्स स्विच एक ही समय में कभी भी चालू नहीं होने चाहिए।"
      यह टूल इस सरल अंग्रेजी को समझता है और इसे स्वचालित रूप से जांचता है।

उन्होंने क्या पाया?

लेखकों ने इस टूल का परीक्षण 13 विभिन्न फैक्ट्री प्रोग्रामों पर किया, जिनमें साधारण मोटर नियंत्रण से लेकर जटिल ट्रैफिक लाइट और वॉटर पंप तक शामिल थे। उन्होंने वास्तविक दुनिया के वेंडर्स (जैसे CONTROLLINO और MathWorks) के प्रोग्रामों का उपयोग किया जो केवल परीक्षण के लिए नहीं बनाए गए थे, केवल यह देखने के लिए कि क्या टूल उन्हें संभाल सकता है।

  • परिणाम:
    • 100% सटीकता: इसने हर सुरक्षित प्रोग्राम और हर असुरक्षित प्रोग्राम की सही पहचान की।
    • छिपे हुए बग मिले: इसने 8 विशिष्ट बग खोजे जिन्हें मानक परीक्षण मिस कर देते। उदाहरण के लिए, इसने एक ऐसी स्थिति खोजी जहाँ इमरजेंसी स्टॉप बटन मशीन को बंद कर देता है लेकिन टाइमर को रीसेट करने में विफल रहता है, जिससे बटन छोड़ने पर मशीन तुरंत फिर से शुरू हो जाती है।
    • गति: इसने इन सभी प्रोग्रामों की जांच 60 मिलीसेकंड से भी कम समय में की (एक इंसान की पलक झपकने से भी तेज़)।

मुख्य निष्कर्ष (The Bottom Line)

यह पेपर पहला ओपन-सोर्स टूल प्रस्तुत करता है जो एक मानक औद्योगिक ड्राइंग (लैडर डायग्राम) को ले सकता है, उसका अनुवाद कर सकता है, और गणितीय रूप से सिद्ध कर सकता है कि वह हमेशा के लिए सुरक्षित है। यह इंजीनियरों के मशीनों को डिजाइन करने के पुराने तरीके और कंप्यूटर द्वारा सुरक्षा सत्यापित करने के उच्च-तकनीकी गणितीय तरीके के बीच के अंतर को पाटता है।

महत्वपूर्ण नोट: पेपर का दावा है कि यह औद्योगिक प्रोग्रामिंग के विशिष्ट "कोर" भागों (बुलियन लॉजिक, टाइमर, काउंटर) के लिए काम करता है। यह अभी तक जटिल फीचर्स जैसे फ्लोटिंग-पॉइंट नंबर या उन्नत डेटा एरे को हैंडल नहीं करता है, लेकिन सुरक्षा-महत्वपूर्ण लॉजिक के बड़े हिस्से के लिए, यह पूरी तरह से काम करता है और आज उपयोग के लिए तैयार है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →