কীভাবে সমালোচনামূলক জীবন-মৃত্যু-ব্যবস্থায় সফ্টওয়্যার ব্যবহার করা হয়?


51

একটি বিমান, উদাহরণস্বরূপ, একটি ওয়েবসাইটের বিপরীতে, এমন একটি সিস্টেম যেখানে নির্দিষ্ট সিস্টেমে কোনওরকম ব্যর্থতা সম্পূর্ণরূপে অগ্রহণযোগ্য, যেহেতু উড়োজাহাজ পর্যবেক্ষণের ত্রুটিগুলি অটোপাইলটকে ত্রুটিযুক্ত করতে এবং ডুব মেরে ফেলতে পারে। স্পষ্টতই, বোয়িং এবং এয়ারবাসের উজ্জ্বল প্রকৌশলীরা অটোপাইলটে চেক রেখেছিলেন তা নিশ্চিত করার জন্য এটি হঠাৎ ডুবুরি সিদ্ধান্ত নিচ্ছে না যে এটি একেবারে গ্রহণযোগ্য এবং নিরাপদ কৌশল। অথবা সম্ভবত কম্পিউটার ক্র্যাশ হয়েছে এবং নতুন উড়ন্ত বাই-ওয়্যার বিমানের পাইলটরা আর প্রকৃতপক্ষে বিমানটি উড়তে পারে না। অবশ্যই, এই সিস্টেমগুলিতে বিপর্যয় রোধে (সফ্টওয়্যার এবং বিমান উভয়ই) রোধ করার জন্য বিভিন্ন সুরক্ষার পদ্ধতি এবং অতিরিক্ত কাজ রয়েছে।

তবে, অন্যদিকে, এটি সম্পূর্ণ সুস্পষ্ট যে সফ্টওয়্যারটি নিখুঁত নয় - ওপেন সোর্স এবং ক্লোজড সোর্স সফ্টওয়্যার উভয়ই নিয়মিত ক্রাশ হয় এবং কেবলমাত্র সহজতম "হ্যালো ওয়ার্ল্ড" প্রোগ্রাম ব্যর্থ হয় না। যে ইঞ্জিনিয়াররা অ্যারোনটিক, মেডিকেল এবং অন্যান্য জীবন-মৃত্যু-শিল্পগুলিতে সফ্টওয়্যার সিস্টেমগুলি ডিজাইন করেন তারা কীভাবে তাদের সফ্টওয়্যারটি পরীক্ষা করতে পারেন যাতে এটি ব্যর্থ হয় না (এবং যদি এটি ব্যর্থ হয় তবে কমপক্ষে নিখুঁতভাবে ব্যর্থ হয়)?

আমি মরিয়া হয়ে আশা করছি যে আপনি সকলেই যাবেন না: "ওহ, আমি বোয়িং / এয়ারবাস / (অন্য কোনও সংস্থা) এর জন্য কাজ করি এবং এটি হয় না! আপনার পরবর্তী ফ্লাইট / হাসপাতালে ভ্রমণের জন্য মজা করুন।"


8
থেরাক 25 এবং প্যাট্রিয়ট ব্যাটারির ক্ষেত্রে বিবেচনা করা যা এতে জড়িত ছিল না, সম্ভবত যথেষ্টটা যথেষ্ট নয়।
লরেইন পেচটেল

@ লরেন ওয়েল, আমার কোনও সন্দেহ নেই যে ব্যতিক্রমগুলি নেই। অন্যদিকে, আমি কোনও এয়ারবাস A320 (একটি ফ্লাই বাই ওয়্যার এয়ারক্র্যাফ্ট) পড়ার জন্য কখনই একটি উল্লেখযোগ্য সফ্টওয়্যার ত্রুটি অনুভব করতে পারি নি যার ফলস্বরূপ আঘাত / আহত / মৃত্যু ঘটেছিল এবং 4000 এরও বেশি তৈরি হয়েছে।
waiwai933

3
"হ্যালো ওয়ার্ল্ড" ব্যর্থও হতে পারে। lol
xandy

1
@ ওয়াইওয়াই - আসলে, এটি এক বছর বা তারও আগে ঘটেছিল - একটি ত্রুটিযুক্ত সেন্সর ইঙ্গিত দিয়েছিল যে বিমানটি খুব খাড়াভাবে উঠছে এবং প্রায় স্টল পাচ্ছিল। স্তরের ফ্লাইটে ফিরে আসার কম্পিউটারের প্রয়াসটি আসলে একটি ডুবুরি ছিল। কোনও ক্র্যাশ হয়নি, তবে যাত্রীদের কাছ থেকে আহত / ক্ষতি হয়েছে এবং কেবিনের চারপাশে আলগা জিনিস ফেলে দেওয়া হচ্ছে।
টম ক্লার্কসন

6
তারা কি পাইলট লাইসেন্স সহ মৃত্যুদণ্ডপ্রাপ্ত কয়েদিদের ব্যবহার করে না?
জেফো

উত্তর:


29

আমি শিল্প নিয়ন্ত্রণে অনেক কাজ করেছি। এটি এরোস্পেসের মতো গৌরবময় শিল্পে থাকতে হবে না। প্রায় প্রতিটি শিল্প মেশিনে গুরুতর আঘাত বা মৃত্যু ঘটাতে পর্যাপ্ত সম্ভাবনা শক্তি থাকে। লোকেরা যখন আহত হয়েছিল তখন আমি প্রায় ছিলাম। আপনি যদি অফিসের কোনও ডেস্কে আপনার বেশিরভাগ সময় ব্যয় করেন, তবে সম্ভবত বেশিরভাগ কারখানার চাকরিগুলি কতটা বিপজ্জনক হতে পারে তা অবাক করে দিয়েছিলেন (এবং অবশ্যই সম্প্রতি পর্যন্ত ছিলেন)। এখন আমাদের কাছে মেশিন সুরক্ষার আরও ভাল পদ্ধতি রয়েছে। এটি বাস্তবে কীভাবে কাজ করে তা এখানে (যদিও এটি এখতিয়ার থেকে এখতিয়ারে পরিবর্তিত হয়):

মার্কিন যুক্তরাষ্ট্রে ওএসএইচএ মান এবং ইইউতে অনুরূপ (সাধারণত আরও কঠোর) নির্দেশিকা রয়েছে। এগুলি সাধারণত ঝুঁকি বিশ্লেষণের জন্য আপনাকে প্রয়োজনীয় করে শুরু হয়। এর অর্থ হল যে আপনি সমস্ত বিপদের একটি তালিকা তৈরি করেন এবং তারপরে সেই বিপদগুলিকে শ্রেণিবদ্ধ করেন যেমন কোনও বিষয় ঝুঁকির মুখোমুখি হবে কতক্ষণ, ঝুঁকি এড়ানো কতটা সহজ (গতি ইত্যাদির উপর নির্ভর করে) এবং কী কী ফলাফলের তীব্রতা (কাটা, ছেদ, মৃত্যু ইত্যাদি)।

বিশ্লেষণের অনেকগুলি বিপদ রক্ষার সাথে সম্পর্কিত। আপনি যদি নিজের মেশিনের চারপাশে একটি বড় খাঁচা রাখেন এবং শক্ত করে বল্টু করেন তবে মেশিনের উপাদানগুলি গার্ডিং লঙ্ঘন করতে না পারলে আপনার মেশিনটি নিরাপদ বলে বিবেচিত হবে। আপনার যদি প্রবেশের জন্য কোনও সরঞ্জামের প্রয়োজন হয় তবে এটি রক্ষণাবেক্ষণের কাজ হিসাবে বিবেচিত হয় এবং রক্ষণাবেক্ষণের লোকদের কীভাবে কোনও যন্ত্রটিতে নিরাপদে কাজ করা যায় সে সম্পর্কে প্রশিক্ষিত হওয়ার কথা। বাস্তবে, তবে, বেশিরভাগ মেশিনগুলির অপারেটরগুলির সাথে নিয়মিত কথোপকথনের প্রয়োজন হয় তাই আমাদের প্রহরীতে অ্যাক্সেস দরজা বা হালকা পর্দা ইত্যাদি লাগাতে হবে Those এই দরজা এবং হালকা পর্দা পর্যবেক্ষণ করা প্রয়োজন এবং অপারেটর নিজেকে প্রকাশ করছে এমন বিপদগুলির শক্তি need একটি "নিয়ন্ত্রণ নির্ভরযোগ্য" উপায়ে বন্ধ করতে হবে।

সেই বিশ্লেষণের ভিত্তিতে, ঝুঁকিটি বিভিন্ন বিভাগে দেওয়া হয়। একটি সাধারণ শ্রেণিবদ্ধকরণ স্কেল 1 বিভাগ থেকে 4 বিভাগ (এন 954-1 মান ভিত্তিতে)। এই বিভাগগুলির উপর ভিত্তি করে, আপনাকে আইনীভাবে একটি নির্দিষ্ট স্তরের মেশিন রক্ষণ এবং সুরক্ষা সরবরাহ করতে হবে।

বিভাগ 4, উদাহরণস্বরূপ, প্রয়োজন:

এই অংশগুলির প্রতিটি মধ্যে একটি একক ত্রুটি সুরক্ষা কার্যকারিতা হ্রাস করে না।

সুরক্ষা ক্রিয়াকলাপে পরবর্তী অনুরোধের সাথে বা তার আগে বা একক ত্রুটি সনাক্ত করা যায়, বা যদি এটি সম্ভব না হয় তবে ত্রুটিগুলি জমা হওয়া সুরক্ষা কার্যকারিতা হ্রাস নাও করতে পারে।

এটি অনুশীলনে অর্জন করা কঠিন হতে পারে তবে স্ট্যান্ডার্ড উপাদানগুলির প্রাপ্যতা দ্বারা সহজ করে তৈরি করা হয়েছে যা বিভাগ 4-তে প্রত্যয়িত হয়েছে উদাহরণস্বরূপ, এই সিস্টেমগুলির মধ্যে একটি সাধারণ উপাদান একটি সুরক্ষা রিলে। এগুলি কেবল যান্ত্রিক রিলের চেয়ে বেশি:

  • এগুলি দ্বৈত রিডানড্যান্ট ইনপুট চ্যানেলগুলি নিরীক্ষণ করার জন্য ডিজাইন করা হয়েছে, সুতরাং আপনার যদি এমন কোনও সেন্সর থাকে যা কোনও ত্রুটি শর্তটি সনাক্ত করে (কোনও গার্ডের দরজা খোলা রয়েছে), তবে এটির অনর্থক সার্কিটের সাথে সাধারণত দুটি যোগাযোগ থাকে। রিলে উভয় চ্যানেল পর্যবেক্ষণ করে, এবং যদি কোনও একটি খোলা হয় তবে এটি আপনার অ্যাকিউটেটরের কাছে শক্তি ফেলে দেয়, তবে যদি তারা উভয় একই সময়ে বাদ পড়ে না, তবে এটি একটি ত্রুটিযুক্ত অবস্থায় প্রবেশ করে এবং মেশিনটি মেরামত না করা পর্যন্ত পুনরায় চালু করা যায় না ।
  • রিলে সেই লাইনগুলিতে বৈদ্যুতিক ডালও ব্যবহার করে এবং ক্রসড বা সংক্ষিপ্ত তারের নিরীক্ষণের জন্য সেই সংকেতগুলি ব্যবহার করে, যাতে এটি তারের ত্রুটি সনাক্ত করতে পারে।
  • আউটপুট দিকে, এটি আউটপুট কয়েলগুলি চালনার জন্য দ্বৈত সার্কিটগুলির একটি সেট ব্যবহার করে, সুতরাং যদি কোনও "অন" শর্তে ফল্ট হয়, অন্যটি আউটপুটকে শক্তিশালী হতে বাধা দেয়। অতিরিক্তভাবে এগুলি পর্যবেক্ষণ করা হয় এবং যদি কোনও ত্রুটি সনাক্ত করা হয় তবে এটি অপারেশনকে বাধা দেয়। কয়েলগুলি এগুলি আসলে দ্বৈত বল নির্দেশিত রিলে যার অর্থ আউটপুটে অনর্থক শারীরিক রিলে, এবং গ্যারান্টি দেওয়া যে প্রতিটি একক রিলে পরিচিতিগুলি শারীরিকভাবে একত্রে সংযুক্ত রয়েছে যাতে একটি পরিচিতির বাইরে বলে, 4 বলে, নিজেই আটকে যেতে পারে না। এগুলিও পর্যবেক্ষণ করা হয়।
  • এটি আপনার নিয়ন্ত্রণ করছেন এমন লোকেদারি সহায়তায় সাধারণত বন্ধ যোগাযোগের নিরীক্ষণের জন্য একটি ইনপুটও অন্তর্ভুক্ত। যদি এটি আউটপুট বন্ধ করে দেয় তবে এটিকে সাধারণত বন্ধ হওয়া পরিচিতিটি দেখতে হবে যার অর্থ এটি মোটর কন্টাক্টরকে বন্ধ করে দিয়েছে বা এটি যা ছিল তা-ই আবার শর্তে চালু করার অনুমতি দেওয়ার আগে তা বন্ধ করে দিয়েছে।

আপনি বলতে পারেন যে এগুলি জটিল ডিভাইস। প্রতিটি সুরক্ষা রিলের জন্য সাধারণ ব্যয়গুলি 200 থেকে 600 ডলারের মধ্যে থাকে। স্পষ্টতই এই ডিভাইসগুলিতে সফ্টওয়্যার রয়েছে। আপনার সুরক্ষা রিলে প্রত্যয়িত করতে, সাধারণত আপনাকে এই জাতীয় ডিজাইন অনুসরণ করতে হবে:

  • দুটি ডিজাইনার ভিত্তিতে ভিন্ন ভিন্ন বিক্রেতাদের কাছ থেকে উত্সাহিত দুটি অপ্রয়োজনীয় প্রসেসর।
  • প্রতিটি প্রসেসরে চলমান কোডটি বিচ্ছিন্ন অবস্থায় কাজ করা দুটি দলকে বিকাশ করতে হবে। এটি কোনও একক সফ্টওয়্যার বাগটিকে ব্যর্থতার একক পয়েন্ট হতে বাধা দেয়।
  • উভয় প্রসেসরের আউটপুট একমত হতে হবে অন্যথায় সুরক্ষা রিলে ত্রুটি।

একবার আপনি সুরক্ষা রেটযুক্ত উপাদানগুলি ব্যবহার করে আপনার মেশিনের জন্য আপনার সুরক্ষা সিস্টেমটি ডিজাইন করেন, তারপরে আপনাকে পেশাদার ইঞ্জিনিয়ার দ্বারা নকশাটি পর্যালোচনা এবং স্ট্যাম্পযুক্ত করতে হবে। তারপরে আপনি মেশিনটি তৈরি করুন। তারপরে পি.ইং। এটি নকশায় নির্মিত হয়েছে তা নিশ্চিত করে মেশিনের নির্মাণের পর্যালোচনা করবে। তারা এটি নথিভুক্ত করবে এবং এটি প্রত্যাশার মতো কাজ করছে তা নিশ্চিত করার জন্য এটিতে কিছু পরীক্ষা চালাবে। একে প্রি-স্টার্ট রিভিউ (পিএসআর) বলা হয় এবং প্রতিটি এখতিয়ারে এটি করা হয় না। পিএসআর পাস করার পরে, আপনাকে একটি অপারেটর মেশিন চালানোর অনুমতি দেওয়া হবে।

সাম্প্রতিক বছরগুলিতে সুরক্ষা ব্যবস্থায় কিছু বিপ্লব ঘটেছে। কিছুক্ষণের জন্য কেউ কোনও নেটওয়ার্কের মাধ্যমে সুরক্ষা ডেটা প্রেরণে বিশ্বাস করে না, তাই সাধারণত ডিভাইসনেট এবং ইথারক্যাটের মতো "ডিস্ট্রিবিউটড আই / ও সিস্টেম" নামে পরিচিত যাকে সিস্টেমের সুরক্ষা অংশে অনুমতি দেওয়া হয়নি। তবে সাম্প্রতিক প্রোটোকলগুলি এখন সুরক্ষা ডিভাইসগুলিকে এই শিল্প নেটওয়ার্কগুলির উপর দিয়ে চালানোর অনুমতি দেয়। প্রোটোকলগুলি সময়-স্ট্যাম্পযুক্ত বার্তাগুলি এবং সংযোগের উভয় প্রান্তে দ্বৈত রিলান্ড্যান্ট প্রক্রিয়াজাতকরণ ব্যবহার করে।

সুরক্ষা রিলে ধীরে ধীরে ডোডো পাখির পথে চলছে, আরও জটিল সেফটি পিএলসি দ্বারা প্রতিস্থাপিত, যা ফাংশন ব্লক ডায়াগ্রাম ভাষায় সুরক্ষা যুক্তি তৈরির মতো। আবার এই সুরক্ষা পিএলসিগুলি রিলান্ড্যান্ট সবকিছু ব্যবহার করে। প্রোগ্রামটি অনুমোদিত হয়ে গেলে, মেশিনটি পরিষেবাতে দেওয়ার আগে, পি.ইং। প্রোগ্রামটি স্ট্যাম্প করবে এবং প্রোগ্রাম / পিএলসি একটি পাসওয়ার্ড দিয়ে লক হয়ে যাবে। এটি প্রোগ্রামের একটি হ্যাশও নেয় এবং সেই হ্যাশটি ডকুমেন্টেশনে রেকর্ড করা হয় (এটিই পি.ইং। সত্যিই স্ট্যাম্পিং হয়)।

এখন একবার আপনি নিজের সুরক্ষা সিস্টেমটি ডিজাইন করার পরে, মেশিনটি নিজেই নিয়ন্ত্রণ করতে আপনি যে যুক্তিটি লেখেন তা আপনার প্যান্টের সীট-অফ-প্যান্ট হতে পারে। প্রোগ্রামাররা প্রায়শই মেশিন ক্র্যাশ করে হাজার হাজার ডলার ক্ষতি করে, তবে কমপক্ষে কেউ আহত হতে পারে না।


20

এলোমেলো কার্যকরী পরীক্ষার চেয়ে আনুষ্ঠানিক যাচাইয়ের দিকে গুরুতর পদক্ষেপ রয়েছে।

নাসা এবং কয়েকটি প্রতিরক্ষা সংস্থার মতো সরকারী সংস্থা এই প্রযুক্তিগুলিতে বেশি বেশি ব্যয় করছে।

তারা এখনও গড় প্রোগ্রামারের জন্য পিআইটিএ, তবে তারা সমালোচনামূলক সিস্টেমগুলি পরীক্ষার ক্ষেত্রে প্রায়শই বেশি কার্যকর।

মাল্টিথ্রেডেড কোড বৈধকরণের মতো জিনিসের জন্য একাডেমিয়া থেকে আরও কৌশলগুলি চেষ্টা করার প্রবণতাও রয়েছে।


6
নাসা মিশন নিয়ন্ত্রণের জন্য গ্রাউন্ড সাপোর্ট সফ্টওয়্যার লিখিত, এবং পুরানো এবং নতুন ফ্লাইট কোডের স্নিপেটগুলি দেখে, তেমন জোর দেওয়া হয়নি। ঠিক আছে, নিখুঁত পরিমাণ বৃদ্ধির কারণে, নাসা আগের তুলনায় কিউসিতে বেশি ব্যয় করছে, তবে স্পেস প্রোগ্রামটি যুবক হওয়ার সময় প্রতিটি অ্যাপ্লিকেশনের উপর দৃষ্টি নিবদ্ধ করা তার চেয়ে অনেক কম ছিল। সুরক্ষার সমালোচনামূলক বিষয়গুলিতে এখনও কিছুটা মনোযোগ রয়েছে, তবে মিশন সমালোচনার জন্য কম-বিস্তৃত টেস্ট স্যুট দরকার এবং এমনকি সুরক্ষার সমালোচনামূলক যাচাই-বাছাই সময়ের সাথে সাথে হ্রাস পেয়েছে বলে মনে হয়।
বেন ভয়েগট

7
দয়া করে নোট করুন যে আমি দ্বিমত করছি না যে আনুষ্ঠানিক যাচাইকরণ খুব কার্যকর হতে পারে এবং সর্বোচ্চ স্তরের নির্ভরযোগ্যতা উত্পাদন করার জন্য প্রয়োজনীয়। এটি ঠিক যে ম্যানেজাররা শিখে ফেলেছে যে এটির ব্যয়টি কত বেশি এবং আরও জটিল সফ্টওয়্যারটির মুখোমুখি হয়েছে, কারণ যে তারা প্রয়োজন অনুযায়ী এবং কোডের প্রতি লাইন প্রতি এত বেশি ব্যয় করতে পারে না। সঠিক পদ্ধতিটি হবে সিস্টেমটি বিভক্ত করা এবং সমালোচনামূলক অংশগুলি ছোট রাখার জন্য, তবে আমি কার্যকরভাবে এটি দেখতে পেলাম না, ফলস্বরূপ পরিচালন পুরো আনুষ্ঠানিক যাচাইকরণ প্রক্রিয়াটিকে অত্যন্ত ব্যয়বহুল ঘোষণা করে।
বেন ভয়েগট

2
@ বেন ভোয়েট: আমি যদি কোনও নভোচারী হয়ে থাকি তবে আপনার প্রতিবেদনটি শুনে আমি খুব ভীত হই।
২১

1
@ অরব্লিং: মহাকাশচারীদের সম্ভবত সমস্যাটি নিয়ে কিছুটা ওজন ছোঁড়াতে হবে, তবে তারা শুরু করে চরম ঝুঁকি গ্রহণকারীদের একটি গ্রুপ। এমন একটি বিষয় রয়েছে যেখানে আপনি যে পরিমাণ ঝুঁকিগুলি নিয়ন্ত্রণ করতে পারবেন তার চেয়ে কম মাত্রার অর্ডারে নিয়ন্ত্রণ করতে পারবেন এবং অর্থ ব্যয় করা খুব কার্যকর নয় এবং আমি যে পদ্ধতিগুলি ব্যবহার করে দেখেছি সেগুলিও সেভাবে কার্যকর হয়েছে কিনা তা বিতর্কযোগ্য বিন্দু। কিছু উচ্চ স্থিতাবস্থাপক অবশ্যই তারা বিশ্বাস করেছিল যে।
বেন ভয়েগট

1
এবং এটা ভেবে দুঃখের বিষয় যে ১৯ many০ এর দশক থেকে বহু লোকই ডিজকস্ট্রার কথা শুনে নি, যারা আনুষ্ঠানিক যাচাইকরণ নিয়ে চলেছিল। নিটশে যেমন বলেছিলেন, "কিছু লোক মরণোত্তর জন্মগ্রহণ করে” "
বোকা

12

এটি নির্ভর করে সফ্টওয়্যারটি কী। উদাহরণস্বরূপ, প্লেনগুলিতে সমালোচনামূলক সিস্টেমগুলির জন্য সাধারণত দ্বৈত-রিলান্ড্যান্ট প্রক্রিয়াজাতকরণ থাকে; চরম ক্ষেত্রে 2 টি পৃথক হার্ডওয়্যার ডিজাইন ব্যবহার করা যেতে পারে এবং দুটি স্বতঃস্ফূর্তভাবে বিকাশিত এস / ডাব্লু, প্রতিটি চালানোর জন্য একটি হতে পারে। তারা উভয়ই একে অপরকে গণনা এবং ক্রস-চেক করে। এটি নির্বোধ নয় এবং অত্যন্ত ব্যয়বহুল।

বিমানের সিস্টেমগুলির পরীক্ষার মতো বিষয়গুলির ক্ষেত্রে, এটির জন্য বিভিন্ন সিরিজ পরীক্ষা করা হয় - ফ্লাইট সম্পর্কিত সিস্টেম টেস্টিংগুলিতে কয়েক মাস সময় লাগে, এবং আপনি যদি পুরো পরিবর্তনগুলি পুনরায় পরীক্ষাগুলিতে পরিবর্তন করেন তবে চালানো দরকার। এটি সাধারণত একটি সিমুলেটারে করা হয়, যা প্রকৃত বিমানের অংশগুলি (যেমন ককপিট) দিয়ে একটি সিমুলেটেড ইঞ্জিন বা অনুরূপ বলে পূর্ণ হতে পারে। আপনি যেমন কল্পনা করতে পারেন, এটি নির্মাণের জন্যও আধ্যাত্মিকভাবে ব্যয়বহুল। পরিবর্তনগুলি একটি আনুষ্ঠানিক পরীক্ষা প্রোগ্রামের বিরুদ্ধে মূল্যায়ন করা হয় এবং তারপরে পরীক্ষামূলক বিমানগুলিতে একটি সত্যিকারের বিমানে চালানো হয়। "ডিস্টার্বড ফাংশনাল" টেস্টগুলির মতো জিনিসগুলি চালিত হওয়ার সাথে সাথে, পরিবর্তিত আইটেমটিকে তার সাধারণ জিনিসগুলি করার অনুমতি দেওয়া হয় এবং কোনও ক্ষতিকারক প্রভাব ছিল না তা দেখার জন্য সবকিছু পরীক্ষা করা / পরীক্ষা করা হয়। এটিতে প্রচুর অর্থ ব্যয় হয় এবং কয়েক সপ্তাহ সময় নিতে পারে।

আমি একটি উদাহরণ জানি যেখানে একটি ফ্লাইট সিস্টেমে খুব সাধারণ পরিবর্তন প্রয়োজন ছিল - এত সহজ আপনি কীভাবে নাবালক হয়ে স্তম্ভিত হবেন। তবে এর পুনরায় পরীক্ষা করতে> 3 মাস সময় লাগত এবং 1M ডলার এর মতো কিছু খরচ হয়েছিল।

আপনি যখন মেডিকেলে প্রবেশ করেন, কেবল পরীক্ষার সাথে নয়, উন্নয়ন প্রক্রিয়া এবং ডকুমেন্টেশনের সাথে সম্পর্কিত ঝাঁপ দেওয়ার নিয়মকানুনের অন্তরায়গুলির একটি পুরো সিরিজ রয়েছে।

এই সমস্ত ক্ষেত্রগুলি এমন কোনও স্থান থেকে একটি বড় পদক্ষেপ যা কোনও ওয়েব সাইটের জন্য পিএইচপি কোডের কিছুটা অংশ খুঁজে বের করে। এটি ধীর, শ্রমসাধ্য, কঠিন, বিরক্তিকর, ক্লান্তিকর, সূক্ষ্ম এবং খুব ব্যয়বহুল। আপনার স্বাভাবিক বিকাশ / পরীক্ষার ব্যয় নিন এবং প্রায় 100 দ্বারা গুণিত করুন এবং আপনি চিহ্নটির কাছাকাছি চলেছেন।


"ব্যবহৃত 2 টি বিভিন্ন হার্ডওয়্যার ডিজাইনের একটি উদাহরণ এবং দুটি স্বতঃস্ফূর্তভাবে s / w এর টুকরো টুকরো টুকরো টুকরো টুকরো করে তৈরি করা হয়েছে, প্রতিটিটিতে একটি চালানোর জন্য" আকর্ষণীয় হবে। দ্বিমত নয়, কেবল কৌতূহলী।
ব্রায়ান কার্লটন

1
@ ব্রায়ান: অ্যান্টি-লকিং ব্রেক সিস্টেম কন্ট্রোলারের জন্য 2 টি পৃথক এইচডাব্লু, 2 স্বতন্ত্রভাবে বিকশিত এসডব্লিউয়ের একটি পরিচিত উদাহরণ পাওয়া যাবে। উদাহরণস্বরূপ infineon.com/cms/jp/product/applications/automotive/safety/… দেখুন যা একক আইসিতে দুটি পৃথক সিপিইউ আর্কিটেকচার (8-বিট এবং 16-বিট) ব্যবহার করে।
Schedler

4
তিনটি আরও ভাল। দুটি দিয়ে, আপনি কেবল জানেন যে তাদের মধ্যে একটি ভুল। তিনটি দিয়ে আপনি একটি ভোট নিতে পারেন। এএফআইএকে, এয়ারবাস এ 380 এ দুটি নির্মাতার তিনটি ফ্লাইট কম্পিউটার রয়েছে।
জার্গ ডব্লু মিত্তাগ

কয়েক বছর আগে আমি কিছু সামরিক হেড-আপ প্রদর্শন জুড়ে এসেছি যা এইভাবে ডিজাইন করা হয়েছিল। আমার আনন্দের বিষয় হল যে ব্যয়ের কারণে এই কৌশলগুলির মধ্যে অনেকগুলি আগে যেমন ছিল তেমন ব্যবহার হয় না।
দ্রুত_


3

যেহেতু আপনি ইতিমধ্যে যথেষ্ট দুর্দান্ত এবং তথ্যবহুল উত্তর পেয়েছেন তাই আমার গ্রহণযোগ্য।

এটি সহজ - প্রথম পরীক্ষাটি সর্বদা প্রোগ্রামারদের নিজেরাই করা হয়। এটি বাগের সংখ্যা কম রাখার ঝোঁক রাখে এবং এটি নিশ্চিত করে যে কেবল মানের প্রোগ্রামারগুলি বেতনভিত্তিতে রাখা আছে।


3

জীবন-সমালোচনামূলক সফ্টওয়্যারটি "এটি কাজ করে বলে মনে হচ্ছে" এক হিসাবে অন্য কোনও মানের সাথে পরীক্ষা করা হয় না , কারণ এটি পুরো জায়গা জুড়ে হয়েছে।

সমস্ত বিনিয়োগগুলি এমন কি হয় যা প্রকল্পগুলির আগে কাজ করে বা নন-প্রোগ্রামারদের আরও উন্নত সফ্টওয়্যার তৈরি করতে দেয় সেজন্য প্রকল্পগুলির কাজ করে work

পিএস প্রথমে কোনও মন্তব্য নেই -1, তবে -1আমার বক্তব্যকে মোকাবিলা করে এমন প্রতিটি রেফারেন্স নেওয়ার জন্য আমি খুশি হব ।

সমালোচনামূলক সফ্টওয়্যারটি ভালভাবে নকশা করা বা পরীক্ষা করা হচ্ছে না এমন প্রতিবেদনের জন্য আমি কী +1 নিতে পারি? সিমসন গারফিনকেল তারের সম্পর্কিত একটি নিবন্ধে দশটি মামলা নথিভুক্ত করেছেন


দুর্ভাগ্যক্রমে, এটি সমস্ত সঠিক।
বেন ভয়েগট

অবশ্যই, আমি আপনাকে অফারটি -1 এর জন্য নিয়ে এসেছি।
ব্রায়ান কার্লটন

@ ব্রায়ান কার্লটন আপনি একটি রেফারেন্স সরবরাহ করেন নি ...
অপালালা

ডিও -178, জিপিএসের জন্য এমওপিএস সম্পর্কে কী ... কমপক্ষে আমি কাজ করছিলাম যা এক বছরের বেশি সময় নিতে পারে। নোট করুন যে পরীক্ষণটি কোডটি বাগ-মুক্ত কিনা তা নিশ্চিত করে না এবং প্রতিটি সম্ভাব্য ক্ষেত্রে স্পেসিফিকেশন মেনে চলে।
jinwee

2

সমস্ত ক্ষেত্রে একটি উত্তর নেই। তাদের সফ্টওয়্যারটি কীভাবে ডিজাইন এবং পরীক্ষা করা যায় তা সিদ্ধান্ত নেওয়া পৃথক নির্মাতার উপর নির্ভর করে। তবে সম্পূর্ণ সফ্টওয়্যার বিকাশের প্রক্রিয়াটি অবশ্যই আনুষ্ঠানিক বিশদগুলির সাথে মেনে চলতে হবে।

উদাহরণস্বরূপ, চিকিত্সা ডিভাইসগুলির জন্য সফ্টওয়্যার তৈরি করার সময় আপনাকে অবশ্যই চিকিত্সা ডিভাইসগুলির জন্য সফটওয়্যারগুলির জন্য আইইসি 62304 মান অনুসরণ করতে হবে । (দুর্ভাগ্যক্রমে আমি কেবল উইকিপিডিয়ায় লিঙ্ক করতে পারি কারণ এটি বিনামূল্যে নেই) খুব সুন্দর বিশ্বের প্রতিটি দেশেই এই মানটি অনুসরণ করা দরকার।

এই প্রয়োজনীয়তাগুলি কতটা কঠোর তা নির্ভর করে ক্ষতির ঝুঁকির উপর। উদাহরণস্বরূপ, লাইফ সাপোর্ট ডিভাইসে ক্ষতির সবচেয়ে বেশি ঝুঁকি থাকে (নির্দিষ্ট মৃত্যুর ফলে এটি সিস্টেমটি ব্যর্থ হয়), অন্যদিকে রোগ নির্ণয়ের সাথে কাজ করে এমন একটি সিস্টেমের ঝুঁকি কম থাকে (সিস্টেমটি ব্যর্থ হলে যদি এএ টার্মিনাল ডিজিজটি সঠিকভাবে নির্ণয় করা না হয়)।

তবে এটি মূলত যা বলে তা হ'ল সফ্টওয়্যারটির প্রয়োজনীয়তা থেকে একটি ট্রেসযোগ্যতা থাকতে হবে। আপনাকে অবশ্যই সফ্টওয়্যার ইউনিট যাচাইকরণ করতে হবে। যাচাইকরণ কী তা নির্দিষ্ট করে না। ইউনিট পরীক্ষা হতে পারে, কোড পর্যালোচনা হতে পারে। উচ্চতর ঝুঁকিপূর্ণ ডিভাইসের জন্য আপনাকে অবশ্যই সফ্টওয়্যার ইউনিটগুলির মধ্যে ইন্টারফেসগুলি ম্যানুয়ালি পর্যালোচনা করতে হবে (যতদূর আমি বুঝতে এবং স্মরণ করতে পারি)। এবং অবশ্যই অন্যান্য নিয়ম প্রচুর। ওহ, এবং আপনার কাজের ডকুমেন্ট করার জন্য আপনাকে অবশ্যই প্রচুর ডকুমেন্টেশন লিখতে হবে।

মানটি চটজলদি উন্নয়নকে নিষিদ্ধ করে না, যদিও এটি পড়ার সময় মনে হয় এটি জলপ্রপাতের বিকাশকে মনে রেখেই লেখা হয়েছিল।

আমি সফ্টওয়্যার বিকাশের অন্যান্য ক্ষেত্রগুলি, যেমন বিমান, ট্রেন, গাড়ি ইত্যাদি সম্পর্কে জানি না তবে আমি ধরে নিয়েছি যে অনুরূপ অন্যান্য আনুষ্ঠানিক নির্দেশিকা রয়েছে।


1

অনেকগুলি কৌশল ব্যবহার করা হয়, যার মধ্যে রয়েছে তবে সীমাবদ্ধ নয়:

  • আনুষ্ঠানিক নকশা এবং / বা বৈধতা
  • মেমরির গতিশীল বরাদ্দের মতো অভিনব প্রোগ্রামিং এড়ানো কঠোর কোডিং মান
  • খুব চাহিদা মানের প্রকৌশলী
  • স্থির বিশ্লেষণ কৌশলগুলি যেমন কোড পর্যালোচনা, ফল্ট ট্রি, এফএমইসিএ, ...

তবে এক নম্বর কৌশলটি হ'ল:

  • পরীক্ষামূলক

কোনও স্পেসক্রাফ্টের সফ্টওয়্যারটির নকশা এবং কোডটি প্রথম স্থানে রাখার চেয়ে পরীক্ষার জন্য আরও বেশি প্রচেষ্টা প্রয়োজন।

বিমানটি বেশ কয়েক বছর ধরে বিমান পরীক্ষা চালিয়ে যায় যেখানে বিমানটিকে চরম পরিস্থিতিতে আনা হয়। এটি কেবল দৈহিক কাঠামো নয়, সফ্টওয়্যারও পরীক্ষা করে।


1

3/1/2009 12:00 AM EST এর EETimes এ জ্যাক গানসেলের একটি নিখুঁত "পারফেক্ট সফ্টওয়্যার" রয়েছে is সেখান থেকে কয়েকটি পয়েন্ট:

  • "তাত্ত্বিকভাবে, সফ্টওয়্যারই একমাত্র উপাদান যা নিখুঁত হতে পারে এবং এটি সর্বদা আমাদের প্রারম্ভিক পয়েন্ট হওয়া উচিত।" - যা জেসি পুুর বলেছেন। তার ওয়েব পৃষ্ঠা অনুসরণ করে আপনি জানতে পারবেন যে কীভাবে নিখুঁত সফ্টওয়্যারটি সাধারণ সফ্টওয়্যার থেকে বেশি দামে তৈরি করা যায়।
  • অত্যন্ত নির্ভরযোগ্য ওএস এর শিল্প সরবরাহকারী রয়েছে। নিবন্ধে মিরক্রিয়াম এবং গ্রিন পাহাড়ের কথা বলা হয়েছে। মাইক্রিয়ামের ওয়েব পৃষ্ঠা অনুসরণ করে, শংসাপত্রের জন্য মানকগুলির তালিকা রয়েছে। এগুলি অবশ্যই প্রক্রিয়া এবং নিয়মটি শিল্পকে অনুসরণ করে। এটি আনুষ্ঠানিক বৈধতার ভিত্তিতে, তবে তত্ত্ব থেকে অনেকটা ডাইভার্টেড।

আকর্ষণীয়ভাবে, বাণিজ্যিক সফ্টওয়্যার সম্পর্কিত, ক্যাপার্স জোন্স দ্বারা সংগৃহীত ডেটা পরামর্শ দেয় যে "সাধারণভাবে সফ্টওয়্যারটির ত্রুটি অপসারণ দক্ষতা থাকে (শিপিংয়ের আগে বাগের শতাংশ অপসারণ করা হয়) ৮ 87%। ফার্মওয়্যার স্কোরের চেয়ে অনেক ভাল ৯৪% স্কোর করে।" আমার কাছে এগুলির কোনওটিই নিখুঁত নয়। পূর্বের উত্তরদাতাদের উল্লেখ করা নিবন্ধটি ইঙ্গিত দেয় যে নাসার স্পেস শাটল টিম একটি 99% বাগ সরিয়ে দেওয়ার হার অর্জন করেছে, তবে কোডটির 400k লাইনের জন্য প্রতি বছর ব্যয় হয় 35 মিলিয়ন।

11/1/2009-তে একই লেখকের আরও আকর্ষণীয় নিবন্ধ "নির্ভরযোগ্য সিস্টেমগুলির জন্য সফ্টওয়্যার", আরও প্রাসঙ্গিক বলে মনে হয়। এটি এর সংক্ষেপে সংক্ষেপে বলা যেতে পারে:

  • উন্নয়ন প্রক্রিয়া হিসাবে, শিল্পটি ডিও -178 বি বা আইইসি 61508 অনুসরণ করেছে। এটি সর্বাধিক কভারেজের সাথে পরীক্ষার উপর জোর দেয়। তবে এর কার্যকারিতা সম্পর্কে খুব কম প্রমাণ পাওয়া যাবে।
  • একটি শংসাপত্র কর্তৃপক্ষ, শংসাপত্রযোগ্য নির্ভরযোগ্য সফ্টওয়্যার সিস্টেমের উপর কমিট, "" নির্ভরযোগ্য সিস্টেমগুলির জন্য সফ্টওয়্যার - পর্যাপ্ত প্রমাণ "নামে একটি বই প্রকাশ করেছে। এটি একটি ভাল রেফারেন্স।
  • বইটিতে মূলত তিনটি জিনিস জিজ্ঞাসা করা হয়েছে: [1] নির্ভরতা পরীক্ষার জন্য সুস্পষ্ট নিয়ম তৈরি করুন। [২] নিয়মের বিরুদ্ধে পরীক্ষা করা, তবে এটি পরীক্ষা করে নিন যে সাধারণ গ্রাহকগণ বা নিয়ামকদের দ্বারা বিকাশকারীরা ব্যয় করার চেয়ে কম সময় ব্যয় করেছেন understand [3] নিশ্চিত হন যে এটি সফ্টওয়্যার ইঞ্জিনিয়ারিং এবং সমস্যা ডোমেনের বিশেষজ্ঞরা বিকাশ এবং পরীক্ষা করছেন।
  • সফ্টওয়্যার সরবরাহকারীকে কোনও সফ্টওয়্যার ব্যর্থতার জন্য ওয়্যারেন্টি বা অন্যান্য প্রতিকারের প্রতিশ্রুতিবদ্ধ হতে হবে।
  • একটি নিরাপদ ভাষা ব্যবহার করুন, বিশেষত সি স্পার্কের প্রস্তাব দেওয়া হয়নি।
  • চুক্তির পদ্ধতির জন্য নকশা স্পার্কের অন্যতম শক্তি। ডিজাইন-ফর-কন্ট্রাক্ট প্রতিটি ফাংশন / পদ্ধতি কলগুলিতে পরীক্ষাগুলি এম্বেড করার জন্য এবং সর্বদা রানটাইম এ চালানোর জন্য একটি গুরুত্বপূর্ণ প্রযুক্তি। পুরানো দিনগুলিতে একটি সাধারণ দাবী () এর চেয়েও বেশি, চুক্তিটি কাঠামোগত অভিপ্রায়ের বিরুদ্ধে পরীক্ষাগুলি সজ্জিত করতে পারে এবং মূল বিকাশকারীরা বেশিরভাগ অন্যান্য প্রকল্পে চলে গেলে মেনটেন্যান্স চক্রের পরবর্তী সময়ে কোনও লঙ্ঘন না ঘটে যেতে পারে তা নিশ্চিত করে। এমন প্রমাণ রয়েছে যে চুক্তির জন্য নকশাটি খুব নির্ভরযোগ্য সফ্টওয়্যার পণ্য তৈরি করেছে। স্পার্ক এবং এর সরঞ্জামগুলি শংসাপত্র প্রক্রিয়াটিকে সহজ করার জন্য শংসাপত্র পরীক্ষার কেস উত্পন্ন করতে সহায়তা করতে ব্যবহৃত হতে পারে।

আমার স্মৃতি অনুসারে এইচপি প্রায় এক দশক আগে নকশা-চুক্তির জন্য অনুশীলন করেছিল pract একটি ছোট দল সঙ্গে, 500k কোডের লাইন, প্রসবের পরে কেবল 2 টি বাগ রিপোর্ট করেছে। খুব চিত্তাকর্ষক.

আমার দৃষ্টিতে, নির্ভরযোগ্য বা নিখুঁত সফ্টওয়্যার কেবল তখনই অর্জন করা যেতে পারে যদি ব্যয়টি প্রতিরোধমূলকভাবে বেশি না হয়। ফ্রেমওয়ার্ক বা অটোমেশন অবশ্যই হওয়া আবশ্যক।


0

তাদের সাধারণত একটি হার্ডওয়্যার ইন্টারলক থাকে যা ব্যর্থ-নিরাপদ হিসাবে ব্যবহৃত হয়।

উদাহরণস্বরূপ ঘাতক রোবটগুলির জন্য স্ট্যান্ডার্ড দুষ্ট পাঠ্য বাক্স ডিজাইনগুলি সর্বদা একটি কিল-সুইচ সহ আসে: পি


0

প্রতিটি শিল্পের নিজস্ব নিয়ন্ত্রক সংস্থাগুলির একটি সেট রয়েছে যা সুরক্ষা সম্পর্কিত হার্ডওয়্যার এবং সফ্টওয়্যারগুলির জন্য পরীক্ষার এবং ডকুমেন্টেশন প্রয়োজনীয়তা রাখে। : Underwriters ল্যাবরেটরি (উল) যে উল 1998 মান প্রবর্তন থেকে এই PDF বিবেচনা http://www.ul.com/global/documents/offerings/industries/hightech/software/UL_softwareconformityassessment.pdf

এই নথিতে উল, সিএসএ এবং আইসিসি সম্পর্কিত অন্যান্য অনেকগুলি সম্পর্কিত উল্লেখ রয়েছে।

সাধারণত, সুরক্ষা সম্পর্কিত সফ্টওয়্যারটিতে রিডানড্যান্ট হার্ডওয়্যার সার্কিট থাকবে বা নিরাপদ অপারেশন এবং নিরাপদ ব্যর্থতা মোডগুলি নিশ্চিত করতে অন্যান্য অপ্রয়োজনীয় নিয়ন্ত্রণ বৈশিষ্ট্য থাকতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.