यह मेरे दिल के करीब एक प्रश्न है (मैं औपचारिक तर्कों का उपयोग कर सॉफ्टवेयर सत्यापन में एक शोधकर्ता हूं), इसलिए शायद मुझे आश्चर्य नहीं होगा जब मुझे लगता है कि मुझे लगता है कि इन तकनीकों का एक उपयोगी स्थान है, और अभी तक नहीं हैं उद्योग में पर्याप्त इस्तेमाल किया।
"औपचारिक तरीकों" के कई स्तर हैं, इसलिए मैं मानता हूं कि आप एक कठोर गणितीय आधार पर आराम कर रहे हैं (जैसा कि कहते हैं, कुछ 6-सिग्मा शैली प्रक्रिया के बाद)। औपचारिक तरीकों के कुछ प्रकारों में बड़ी सफलता मिली है - टाइप सिस्टम एक उदाहरण है। डेटा प्रवाह विश्लेषण के आधार पर स्टेटिक विश्लेषण उपकरण भी लोकप्रिय हैं, मॉडल डिजाइन हार्डवेयर डिजाइन में लगभग सर्वव्यापी है, और पीआई-कैलकुस और सीसीएस जैसे कम्प्यूटेशनल मॉडल समरूपता के लिए व्यावहारिक भाषा डिजाइन में कुछ वास्तविक परिवर्तन को प्रेरणा दे रहे हैं। टर्मिनेशन विश्लेषण वह है जिसने हाल ही में बहुत सी प्रेस की है - माइक्रोसॉफ्ट में एसडीवी परियोजना और बायरन कुक द्वारा काम औपचारिक तरीकों में अनुसंधान/अभ्यास क्रॉसओवर के हाल के उदाहरण हैं।
होयर तर्क ने अब तक उद्योग में महान रास्ते नहीं बनाया है - यह सूची के मुकाबले ज्यादा कारणों से है, लेकिन मुझे संदेह है कि ज्यादातर लेखन की जटिलता के आसपास है और वास्तविक कार्यक्रमों के लिए विशिष्टताओं को साबित करना है (वे प्राप्त करते हैं बड़े, और कई वास्तविक दुनिया के वातावरण के गुण व्यक्त करने में विफल)। इस प्रकार के तर्क में विभिन्न उप-क्षेत्र अब इन समस्याओं में बड़े रास्ते बना रहे हैं - पृथक्करण तर्क एक है।
यह आंशिक रूप से चल रहे (कठिन) शोध की प्रकृति है। लेकिन मुझे यह स्वीकार करना होगा कि हम सिद्धांतवादी के रूप में उद्योग को शिक्षित करने में असफल रहे हैं कि क्यों हमारी तकनीकें उपयोगी हैं, उन्हें उद्योग की जरूरतों के अनुरूप रखने के लिए, और उन्हें सॉफ्टवेयर डेवलपर्स के लिए पहुंचाने योग्य बनाने के लिए। कुछ स्तर पर, यह हमारी समस्या नहीं है - हम शोधकर्ता हैं, अक्सर गणितज्ञ, और व्यावहारिक उपयोग हमारे दिमाग में सबसे महत्वपूर्ण नहीं है। इसके अलावा, विकसित होने वाली तकनीकें बड़े पैमाने पर सिस्टम में उपयोग के लिए अक्सर भ्रूण होती हैं - हम छोटे कार्यक्रमों पर, सरलीकृत प्रणालियों पर काम करते हैं, गणित को काम करते हैं, और आगे बढ़ते हैं। हालांकि मैं इन बहाने को ज्यादा खरीद नहीं पा रहा हूं - हमें अपने विचारों को धक्का देने और उद्योग और हमारे काम के बीच फीडबैक लूप प्राप्त करने में अधिक सक्रिय होना चाहिए (मुख्य कारणों में से एक मैं अनुसंधान में वापस गया)।
यह शायद एक अच्छा विचार है मुझे मेरी वेबलॉग फिर से शुरू करने, और इस सामान पर कुछ और पोस्ट कर के लिए ...
स्रोत
2009-07-28 22:02:52
कुछ प्रकाश पढ़ने: http://formalmethods.wikia.com/wiki/Z_notation –
मैंने कॉलेज में ज़ेड या "जेड" सीखा। कक्षा बहुत मजेदार थी, लेकिन मुझे उस वर्ग में प्राप्त मूलभूत ज्ञान से उद्योग में कुछ भी करने के लिए आवेदन नहीं करना पड़ा। आपका मिशन-महत्वपूर्ण सॉफ़्टवेयर टिप्पणी दिलचस्प है, लेकिन मुझे लगता है (गलत होने पर मुझे सही करें) अधिकतर स्थिर कोड विश्लेषण टूल, तीव्र कोड समीक्षा और निरीक्षण, और उस प्रकृति की अन्य चीजों पर सॉफ़्टवेयर सत्यापित करने के लिए अधिक निर्भर होंगे। –
धन्यवाद, मैं एक नज़र डालेगा :) – AraK