सेफ्टी क्रिटिकल - सुरक्षा संवेदनशीलता

साहना's picture
साहना in काथ्याकूट
8 Jun 2023 - 6:33 am
गाभा: 

Safety Critical Systems म्हणजे सुरक्षा संवेदनशील यंत्रणा. इथे चूक झाली तर लोकांचा जीव जाऊ शकतो किंवा प्रचंड प्रमाणात जीवित आणि वित्त हानी होऊ शकते. विमान यंत्रणा, ऍटोमिक रिऍक्टर, रेल्वे यंत्रणा, ट्राफिक सिग्नल बँकिंग यंत्रणा (काही प्रमाणांत), मेडिकल उपकरणे, औषधे, अत्याधुनिक शस्रास्रे हि सर्व ह्या प्रकारांत मोडतात.

फेसबुक, गुगल सर्च, आधार कार्ड ह्या गोष्टी ह्यात येत नाहीत. गुगल काही तास बंद पडले म्हणून काही कुणी मरत नाही पण विमानाचे इंजिन बंद पडले किंवा ट्राफिक सिग्नल दोन्ही बाजूला हिरवा झाला तर काही लोकांना तात्काळ मृत्यू होऊ शकतो. त्यामुळे सुरक्षा संवेदनशील यंत्रणा त्यांची योजना ह्याचे आपले एक क्षेत्र आहे. मी ऍटोमिक रिऍक्टर चे सॉफ्टवेर आणि विमान संबंधित सॉफ्टवेर मध्ये काम केले आहे त्यामुळे किमान सॉफ्टवेर दृष्टिकोनातून ह्यांची जुजबी माहिती तरी आहे. ओरिसा ट्रेन अपघात झाल्यानंतर सर्वच लोक सिग्नलिंग एक्स्पर्ट झाले आहेत. त्यामुळे बहुसंख्य लोकांना ह्या सर्व विषयाची इत्यंभूत माहिती असेलच पण ज्या सामान्य मृत्य माणसांना नाही त्यांच्या ज्ञानात हे वाचून भर पडू शकते.

सुरक्षा संवेदनशील यंत्रणेचे दोनच अत्यंत पायाभूत असे नियम आहेत:

१. वाईट काही घडू नये. (nothing bad should happen )
२. काहीतरी चांगले घडावे. (something good should happen)

अनेक सुरक्षा संवेदनशील यंत्रणा ह्या रिअल टाईम म्हणजे तातडीच्या सुद्धा असतात. उदाहरण म्हणजे रेल्वे सिग्नल. अमुक ट्रेन ह्या ट्रॅक वर असली तर वरचा सिग्नल लाल पडायला पाहिजेच पण अमुक सेकंदात लाल पडायला पाहिजे उशीर झाल्यास अपघात घडू शकतो. विमानाचे लँडिंग गियर काही सेकंदात खाली आले पाहिजे उशीर होता कामा नये. इत्यादी.

गेम्स किंवा व्हिडीओ कॉन्फरसिंग ह्या तातडीच्या म्हणजे (रिअल टाईम) सेवा आहेत पण सुरक्षा संवेदनशील नाहीत. पण त्याच वेळी शरीराच्या शस्त्रक्रियेत वापरले जाणारे कॅमेरा इत्यादी सुरक्षा संवेदनशील यंत्रणा आहेत.

--

सुरक्षा संवेदनशील यंत्रणांचा सर्वात क्लिष्ट भाग म्हणजे एखाद्या यंत्रणेचा एक भाग सुरक्षा संवेदनशील असला तर सर्वच भाग सुरक्षा संवेदनशील बनतात. उदाहरण म्हणजे समजा रेल्वेची सिग्नल यंत्रणा आम्ही वायफाय वापरून वायरलेस केली (हे फक्त सोपे उदाहरण आहे). ह्यासाठी वायफाय राऊटर बसवले. आणि हेच राऊटर वापरून रेल्वेने स्टेशन वर एक भलामोठा इंटरनेट जाहिरात दाखविणारा बोर्ड बसवला. आता सिग्नल सिस्टम सुरक्षा संवेदनशील आहे पण जाहिराती नाहीत. तरी सुद्धा दोन्ही गोष्टी एकाच वायफाय राऊटर वर आधारित असल्याने जाहिरातीचा टीव्ही सुद्धा सुरक्षा संवेदनशील मानला जातो. कारण म्हणजे समजा अमुक एक वेळी रेल्वेचा सिग्नल लाल व्हायला पाहिजे होता. त्याच वेळी जाहिरात बोर्डवरील जाहिरात बदलली आणि त्याने इंटरनेट वरून ५ GB ची विडिओ फाईल डाऊनलोड केली. त्यामुळे वायफाय स्लो झाले आणि सिग्नल लाल होण्यात २ सेकंड जास्त लागले. मग ह्या उशिरामुळे अपघात घडू शकतो.

ते सोडा, वायफाय राऊटर जो वापरात आहे तो सुद्धा आता सुरक्षा संवेदनशील आहे. त्यांत वापरले जाणारे हार्डवेर चिप्स इत्यादी सुद्धा सुरक्षा संवेदनशील आहेत आणि त्यातील सॉफ्टवेर जो कम्पायलर वापरून लिहिले ते सुद्धा सुरक्षा संवेदनशील आहे. कारण त्यांत लागणारे सॉफ्टवेर जर C वापरून लिहिले होते आणि तो C compiler मध्ये जर खोलवर काही चूक राहिली असती तर त्यामुळे अपघात घडू शकतो.

ह्याच कारणांनी सुरक्षा संवेदनशील यंत्रणेत आम्ही आधुनिक लिनक्स, आधुनिक जावा, पायथॉन इत्यादी compilers वापरू शकत नाही. किंबहुना आधुनिक भाषाच वापरल्या जात नाहीत.

--

सुरक्षा संवेदनशील यंत्रणांवर कसा विश्वास ठेवावा ?

ह्यासाठी सर्टिफिकेशन वर भर दिला जातो. बहुतेक सुरक्षा संवेदनशील सर्टिफिकेशन्स अमेरिका, युरोप आणि जपानात विकसित झाली आहेत. जर्मनी आणि फ्रांस सुद्धा ह्यांत आघाडीचे देश आहेत. DO-178B हि विमानातील सॉफ्टवेअर साठीची स्टॅंडर्ड आहे.

काही कंपन्या सुरक्षा संवेदनशील यंत्रणां चे हार्डवेर बनविण्यासाठी काम करतात. प्रोसेसर, मेमोरि पासून सध्या तारा पर्यंत प्रत्येक गोष्ट सुरक्षा संवेदनशील यंत्रणां च्या दृष्टिकोनातून बनवली जाते आणि तिसऱ्या कंपनीकडून त्याचे सर्टिफिकेशन करून घेण्यात येते. ह्या गोष्टी बनविणार्या फॅक्टरी चे सुद्धा सर्टिफिकेशन करून घेतले जाते आणि वारंवार ते नूतनीकरण सुद्धा करून घेतले जाते.

एखादी चिप आपल्या कम्प्युटर मध्ये चालत आहे ह्याचा अर्थ ती जमिनीपासून ३०,००० फूट उंचीवर चालेलच असे नाही, -३०F मध्ये वायर्स चा रेसिस्टन्स सुद्दा बदलतो. विमानात कधी कधी आग लागून तापमान प्रचंड वाढू शकते. ह्या सर्व परिस्थितीत विविध घटक काम करतीलच ह्याची खात्री असणे गरजेचे आहे. त्यामुळे ह्या प्रत्येक क्षेत्रांत विविध कंपन्यांनी गुंतवणूक करून सुटे भाग निर्माण केले आहेत. काही ठिकाणी एक वायर तुटली किंवा एक प्रोसेसर मोडू शकतो म्हणून दोन वायर्स आणि दोन प्रोसेसोर्स ठेवले जातात.

तीच गोष्ट प्रोग्रामिंग भाषांची. सर्वांत खात्रीची भाषा म्हणून ह्या क्षेत्रांत अससेम्ब्ली भाषेवर भर दिला जातो. पण नेहमीच ह्यांत कॉड लिहिणे शक्य नाही. जावा सारख्या भाषा वापरल्या जात नाहीत कारण त्यांत गार्बेज कलेक्टर नावाचा प्रकार असतो. त्यांत वापरली न जाणारी मेमोरि साफ करण्यासाठी एक प्रोसेस कधी कधी चालते. पण ती नक्की कधी चालते ह्याची शाश्वती नाही. समाजा ती चुकीच्या वेळी चालली आणि त्यावेळी प्रोसेसर काही मिलिसेकंदासाठी अनुपलब्ध राहिला तर अपघात घडू शकतो. त्यामुळे सुरक्षा संवेदनशील यंत्रणां साठीच्या भाषा ह्या बहुतेक करून C सारख्या सध्या सोप्या भाषांवर भर देतात आणि त्याचे कंपायलर सुद्धा खास पद्धतीने बनविले जातात. ansys सारख्या कंपन्या ह्या क्षेत्रांत आघाडीवर आहेत.

आता कंपायलर आहे तर तो वापरून आपण कोड लिहिता. पण त्यांत बग नसेल ह्याची खात्री काय ? त्यासाठी मॉडेल बेस्ड डिसाईन सारख्या पद्धती आहेत जयंत संपूर्ण यंत्रणा एखाद्या स्टेट मशीन सारखी डिसाईन केली जाते, त्यावरून मग आपोआप कोड निर्माण केला जातो आणि हा कोड वाईट स्थितीत जाणार नाही हे गणिती पद्धतीने सिद्ध केले जाते.

उदाहरण म्हणजे आपली नेहमीचं वापरातील लिफ्ट. लिफ्ट हि नेहमीच तीन पैकि एका स्थितीत असते. वर जात आहे, खाली जात आहे किंवा थांबलेली आहे. पण फक्त लिफ्ट थांबलेली असतानाच लिफ्ट चे दरवाजे उघडू शकतात. उलट पक्षी कुणी दरवाजा उघडलेच तर लिफ्ट बंद सुद्धा पडायला पाहिजे. लिफ्ट ची बटन्स बदल्यावर काय होते है त्यातील सॉफ्टवेर वर आधारित असते. लिफ्ट ची बटणे कुठल्याही पद्धतीने दाबली तरी वरील वाईट घटना घडू शकणार नाही ह्याची खात्री अत्याधुनिक व्हेरिफिकेशन यंत्रणा देऊ शकते.

ह्यासाठी लागणारे गणिती नियम हे गॅलॉईस (उच्चार गॅल्व्हा) ह्या अत्यंत तरुण मुलाने १८३२ मध्ये शोधले. गॅलॉईस ह्या संपूर्ण गणिती इतिहासांतील सर्वांत मोठ्या जिनिअस लोकांपैकी एक मानला जातो. ह्याचा मृत्यू अवघ्या वयाच्या २० वर्षी झाला. रामानुजां प्रमाणेच ह्याचे गणिती ज्ञान नेत्रदीपक असले तरी अतिशय क्लिष्ट गोष्टी इतरांना समजावून सांगणे त्याला शक्य न झाल्याने तो फ्रेंच विद्यापीठांत तोंडी परीक्षेत फेल झाला. त्याला फरक पडला नाही आणि तो सध्या विद्यापीठांत कामाला लागला. गणिताशिवाय राजकारणात तो पडला होता आणि भयंकर लोकप्रिय सुद्धा झाला. शेवटी वयाच्या २० वर्षी आजच्याच दिवशी म्हणजे जून ५ रोजी त्याची पोटांत गोळी मारून हत्या केली. आपल्याच मित्रांनी त्याला जखमी अवस्थेंत सोडून पळ काढला.

--

सुरक्षा संवेदनशील यंत्रणे चे एक एक सुट्टे भाग ह्या पद्धतीने निर्माण केल्यावर ते सर्व एकत्र आणून जी यंत्रणा बनवली जाते त्याचे सुद्धा वेगळे परीक्षण करून त्याला सर्टिफिकेशन देण्यात येते. ह्यातील सुट्टे भाग कधी बदलावेत, एखादा भाग खराब झाल्यास सुद्धा यंत्रणा कशी काम करेल इत्यादी गोष्टीची खातरजमा केली जाते.

उदाहरणार्थ अमुक ठिकाणी रेलवे पॉईंट बदलला कि सिग्नल लाल वरून हिरवा होतो. पॉईंट बदलण्याचे बटन दाबले पण काही मेकॅनिकल कारणांनी तो पॉईंट बदलला गेला नाही तर सिग्नल सुद्धा हिरवा होता कामा नये. ह्याचा अर्थ पॉईंट बदलण्याचे बटन दाबले म्हणून होत नाही, पॉईंट प्रत्यक्षांत बदलला गेला ह्याची खातरजमा पाहिजे. त्यासाठी वेगळा सेन्सर असणे आवश्यक आहे. त्या सेन्सर ची डिफॉल्ट स्टेट फाल्स नेगेटिव्ह असली पाहिजे आणि सिग्नल ची डिफॉल्ट स्टेट सुद्धा लाल असली पाहिजे इत्यादी.

हे सर्व झाल्यानंतर हि यंत्रणा वापरणाऱ्या सर्व लोकांना व्यवस्थित प्रशिक्षण असले पाहिजे. ते प्रशिक्षणकाही कालावधीनंतर पुन्हा करून घेतले पाहिजे. प्रशिक्षण फक्त हैप्पी पाथ म्हणजे सर्व काही सुरळीत चालत आहे ह्या गृहितकावर ठेवून भागत नाही तर एखादी यंत्रणा बिघडली तर सर्व लोक कसे काम करतील ह्यावर सुद्धा असले पाहिजे.

प्रशिक्षित लोक सुद्धा सोप्या चुका करतील हे गृहीतक ठेवले पाहिजे. चुकीना (अपघात टाळला गेला तरी) शिक्षा न करता त्यांना मान्य करण्याचे आणि रिपोर्ट करण्याचे कार्य कल्चर ठेवले पाहिजे म्हणजे त्यातून यंत्रणा धडा घेऊ शकते.

त्याशिवाय संपूर्ण यंत्रणा ऑडिटेबल असली पाहिजे. प्रत्येक घटना कधी कशी घडली ह्याचा डेटा कुठेतरी ठेवला पाहिजे. म्हणजे जसे विमानात ब्लॅक बॉक्स असते तसे. मग ठराविक कालावधीनंतर ह्या डेटाला पाहून कुठे चुका होत आहेत, कुठे वारंवार गोष्टी चुकीच्या घडल्या (अपघात किंवा हानी घडली नसली तरी) हे पाहून संपूर्ण यंत्रणा तसेच सर्टिफिकेशन पद्धती बदलली जाऊ शकते.

-

थोडक्यांत काय तर आपण दररोज वापरणाऱ्या अनेक गोष्टींत प्रचंड विचार आणि संपूर्ण आंतरराष्ट्रीय स्तरावर असंख्य लोकांनी घेतलेले श्रम आहेत. एक सेकंड थांबून ह्या गोष्टी appreciate केल्याचं पाहिजेत.

टीप : दिल्ली - सॅन फ्रान्सिस्को विमानात काळ बिघाड झाला आणि विमानाला रशियातील दुर्गम विमानतळावर उतरविण्यात आले. ह्या नंतर प्रवाश्यांनी आपल्याला चांगले हॉटेल दिले नाही, चांगले अन्न दिले नाही, स्वागतास Air इंडिया चा स्टाफ आला नाही इत्यादी कारणावरून एअर इंडियाला प्रचंड शिव्या दिल्या. इंजिन बिघाड होऊन सुद्धा सुरक्षित जवळच्या एअरपोर्ट वर उतरवून लोकांच्या डोक्यावर छप्पर आणि पोटाला किमान अन्न देण्यात पराकोटीची मेहनत गेली आहे त्यासाठी कुणीही आपल्या नशिबाला धन्यवाद दिले नाहीत.

प्रतिक्रिया

तुषार काळभोर's picture

8 Jun 2023 - 7:16 am | तुषार काळभोर

या विषयाची अगदीच जुजबी माहिती काही प्रशिक्षणामधून मिळाली आहे. त्यामुळे अशा यंत्रणा दिसतात तेवढ्या सोप्या, सरळ आणि सुटसुटीत नसतात याची कल्पना आहे.

उत्पादन क्षेत्रात काम करत असल्याने किरकोळ (कॅटेगरी ६-७) ते एखादा अवयव तुटणे (कॅटेगरी २) अपघात पाहिले आहेत. प्रत्येक अशा अपघाताची सखोल चौकशी होते आणि वरकरणी फालतू वाटणाऱ्या (पण अपघाताची पुनरावृत्ती टाळायला मदत करणाऱ्या) गोष्टी implement केल्या जातात. त्यांचं महत्त्व एखादा अपघात टळल्यानंतर लक्षात येतं.

चलत मुसाफिर's picture

8 Jun 2023 - 8:14 am | चलत मुसाफिर

सोपा व सखोल लेख. साहनाजी तुमची रेंज मात्र अफाट आहे. इतक्या विविध विषयांवर लिहीत असता, तेही नेमक्या भाषेत. पुलेशु

अत्यंत महत्त्वाच्या विषयावर लेख. फारच आवडला. धन्यवाद.

ह्याच कारणांनी सुरक्षा संवेदनशील यंत्रणेत आम्ही आधुनिक लिनक्स, आधुनिक जावा, पायथॉन इत्यादी compilers वापरू शकत नाही. किंबहुना आधुनिक भाषाच वापरल्या जात नाहीत

असे अनेक मुद्दे नव्याने कळले आणि ते अत्यंत रोचक आहेत.

डँबिस००७'s picture

9 Jun 2023 - 11:17 am | डँबिस००७

साहना मॅडम,

अतिशय उत्तम समयोचीत लेख.

फक्त एक अ‍ॅडवतोय. जेंव्हा अश्या सिस्टीम युजर लोक वापरतात त्यावेळी अश्या सिस्टीमचे बॉक्स उघडुन आत फेरबदल करु नये यासाठी
त्या बॉक्सवर चक्क कुलुपे लावली जातात. काही ठिकाणी ईलेक्ट्रीकल आयसोलेटर, एम सि बी वर सुद्धा असे कुलुपबंद असते जेणे करुन
बाहेरचा कोणीही येऊन सिस्टीम बंद वा चालु करु नये किंवा त्यासाठी परमिशन घेऊनच ऑपरेट केला जावा.
बालासोर अपघातात अश्या प्रकारे सिस्टीमचा बॉक्स उघडुन शॉर्टकट (जुगाड) सिग्नलच्या कर्मचार्या कडुन केलेला असण्याची शक्यता
वर्तवण्यात आलेली आहे. अश्या प्रकारे सिस्टीमचा बॉक्स उघडुन शॉर्टकट (जुगाड) केल्याने असा भयानक अपघात झालेला आहे.

भारतीय रेल्वे दररोज हजारोच्या संख्येने ट्रेन्स ऑपरेट करत असते. गेल्या काही वर्षांत रेल्वेने पुर्ण सिस्टीमचे आधुनीकीकरण केल्यानेच
रेल्वेचा एव्हरेज स्पीडही वाढवता आलेला आहे.

++सोपा व सखोल लेख. साहनाजी तुमची रेंज मात्र अफाट आहे. इतक्या विविध विषयांवर लिहीत असता, तेही नेमक्या भाषेत ++ सहमत

अथांग आकाश's picture

9 Jun 2023 - 11:47 am | अथांग आकाश

माहितीपुर्ण लेख!
अनेक नविन गोष्टी समजल्या!! धन्यवाद!!!
0

रेल्वेचे सिग्नल असे काम करत नाहीत. ठराविक वेळाने (डिले पद्धत)लाल हिरवे होत नसतात. ते डिस्टस्न्सवर चालतात. सॉफ्टेवेर नंतरचा भाग आहे. रुळावर रेल्वे गाडी असेल तेव्हा मागच्या ट्रेनला हिरवा पिवळा मिळूच शकत नाही. एकच संभव उरतो - घातपात.
जपानच्या वेगवान शिन्कानसेन गाड्या अपघाताशिवाय पन्नास वर्षे का धावत आहेत? ११-४-२०११ घ्या सुनामीतही सर्व ट्रेन्स आपोआप थांबल्या आणि बरेच अपघात टळले.
अमेरिकेसारख्या अवाढव्य देशास फास्ट ट्रेन्सची जरुरी नाही . त्यांना हेवी ट्रेन्सची गरज आहे.

बाकी चालू द्या.

केमिकल कंपन्यांतली यंत्रे धोका झाल्यास चालू अथवा बंद कडे ( जे योग्य असेल ते) जाण्यासाठी सेट असतात. म्हणजे ती हवेच्या दाबावर चालणारी असो अथवा इलेक्ट्रॉनिक्सवर.