• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Critical system
 

Critical system

on

  • 3,769 views

SOFTWARE ENGINEERING

SOFTWARE ENGINEERING

Statistics

Views

Total Views
3,769
Views on SlideShare
3,769
Embed Views
0

Actions

Likes
3
Downloads
73
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Critical system Critical system Presentation Transcript

    • هندسة البرمجيات Critical Systems الأنظمة الحساسة ( الحرجة ) الدكتور المهندس عمار الجر
    • What is a Critical System?
      • النظام الحساس أو الحرج : الخطأ  ضرر كبير .
      • Safety-critical systems الحساس للسلامة :
        • الخطأ  أذى جسدي أو خسائر في الأرواح أوضرر بيئي .
        • مثال : نظام تحكم في منشأة كيماوية أو نووية . جهاز الكلية . جهاز ضبط السكر
      • Mission-critical systems الحساس بسبب المهمة :
        • الخطأ  فشل في تحقيق أحد أهداف النظام الاستراتيجية .
        • مثال : نظام التحكم بملاحة صاروخ فضائي .
      • Business-critical systems الحساس تجارياً :
        • الخطأ  خسائر مادية كبيرة .
        • مثال : نظام الحساب البنكي .
    • System dependability
      • أهم صفة في الأنظمة الحساسة هي أنه يعتمد عليها بشكل كبير ( الاعتمادية؟ dependability ) وتدل على أن المستخدم يثق بالنظام و .
      • Dependability=
      • availability+reliability+safety+securety
      • غالباً ما نكون مستعدين لدراسة النظام بدرجة تتناسب مع اعتمادنا عليه ( أو بالشكل المتناسب مع خطورة الخطأ الناتج عنه )
    • Development methods for critical systems
      • غالباً ما يتم تطوير النظم الحساسة بواسطة طرق التطوير التقليدية بسبب الثقة والخبرة المتراكمة بهذه الطرق .
      • غالباً ما تكون طرق البناء مكلفة .
      • غالباً ما تكون فترة الفحص طويلة .
      • أمثلة :
        • التطوير باستخدام الطرق الرسمية Formal methods مثل B method
        • التحليلات الإحصائية .
        • فحوص الجودة .
    • Socio-technical critical systems
      • سبب الخطأ في هذه الأنظمة قد يكون عتادياً Hardware أو برمجياً Software أو ( على الغالب ) بسبب العامل البشري Operator أو مزيجاً من الأخطاء السابقة .
      • على مصمم النظم أن يكون عنده فهم كلي holistic للنظام بدلاً من التركيز على نواح محددة .
      • يجب عند تصميم كل نظام فرعي أن يراعي الأنظمة الفرعية الأخرى كي لا تحدث مشاكل في الملائمة
    • مثال عن نظام حساس للسلامة جهاز تنظيم الأنسولين
      • عند مريض السكري لا تفرز البنكرياس هرمون الأنسولين بما يكفي ولذا يتم تزويده بجرعات خارجية .
        • نقص السكر لفترة قصيرة  الموت
        • زيادة السكر على المدى الطويل  العمى + عطب الكلية والقلب
      • جهاز تنظيم السكر = قياس السكر + ضخ الأنسولين اللازم
      • Dependability = Availability + Trustworthy
      • الاعتمادية هنا تركز على :
        • أن يكون النظام جاهزاً لحقن الأنسولين بأية لحظة .
        • أن يكون الحقن بالكمية اللازمة بالضبط .
    • Insulin pump organisation
    • Insulin pump data-flow
    • Dependability requirements
      • The system shall be available to deliver insulin when required to do so.
      • The system shall perform reliability and deliver the correct amount of insulin to counteract the current level of blood sugar.
      • The essential safety requirement is that excessive doses of insulin should never be delivered as this is potentially life threatening.
    • Dependability
      • تتعلق خاصة الاعتمادية بمقدار ثقتنا بالنظام ووفائه بالاحتياجات التي وضع من أجلها المطلوبة من :
      • هناك مجموعة من الصفات الأساسية المترابطة التي تبني مفهوم الاعتمادية
        • Availability ( الجاهزية ) : الاستجابة عند الطلب
        • Reliability ( الوثوقية ) : أن تكون الاستجابة صحيحة
        • Safety ( السلامة ) : أن لا يسبب أذى بشرياً أو بيئياً .
        • Security ( الحماية ) : القدرة على مقاومة محاولات الاختراق العرضي أو المقصود .
    • Dimensions of dependability
    • Dependability
      • Security = Integrity كتلة المعلومات صحيحة فيما بينها
        • + Confidentiality لن تصل معلومات بدون توفر الحق اللازم للوصول
      • Reliability = Corectness الخدمة المقدمة هي المطلوبة
      • + Timeliness و بالتوقيت الذي طلبت فيه
      • + Precision وبالدقة اللازمة
    • Other dependability properties
      • هناك مواصفات أخرى أقل أهمية تتعلق بالاعتمادية :
      • Repairability ( امكانية التصليح ):
        • إمكانية إصلاح النظام في حالة وقوع مشكلة ما .
      • Maintainability ( الاستمرارية ):
        • سهولة الإصلاح + امكانية تأقلم النظام مع المتطلبات المستجدة .
      • Survivability ( صمود التخديم ) :
        • امكانية تقديمه لخدمات حتى في حالة الهجوم عليه .
        • تتم زيادتها من خلال ممانعة الهجوم . كشفه عند وقوعه . تعويض أضراره
      • Error tolerance ( السماحية )
        • امكانية التسامح مع أخطاء الادخال للمستخدم ( كشفها وتجاوزها )
    • Maintainability
      • A system attribute that is concerned with the ease of repairing the system after a failure has been discovered or changing the system to include new features
      • Very important for critical systems as faults are often introduced into a system because of maintenance problems
      • Maintainability is distinct from other dimensions of dependability because it is a static and not a dynamic system attribute. I do not cover it in this course.
    • Survivability
      • The ability of a system to continue to deliver its services to users in the face of deliberate or accidental attack
      • This is an increasingly important attribute for distributed systems whose security can be compromised
      • تزداد أهميتها في الأنظمة الموزعة التي يمكن التشكيك فيها
      • Survivability subsumes the notion of resilience - the ability of a system to continue in operation in spite of component failures
    • Dependability vs performance
      • بالرغم من أن تصميم وبناء النظام الحساس مكلف إلا أن الأضرار التي يمكن تجنبها تجعل تلك الكلفة مقبولة .
        • قد يستغني المستخدم عن النظام غير المعتمد كلياً ( ديوان الجامعة )
        • تكلفة الخطأ يمكن أن تكون مرتفعة .
        • من الصعب تعديل النظام ليصبح معتمداً إذا لم يبن كذلك
        • الأنظمة غير الموثوقة قد تسبب ضياع الكثير من المعلومات
      • الكلفة الاساسية تكون في :
        • بناء البرمجية بطرق مكلفة .
        • فحص البرمجية للتأكد من أنها ستحظى بالثقة المطلوبة من المستخدم .
    • Costs of increasing dependability موثوق 100% الطريقة B
    • أسئلة
      • ادرس الاعتمادية المطلوبة في
        • نظام الهاتف
        • نظام الكلية الصناعية
        • نظام الدفاع المدني
        • نظام جامعي
        • نظام مروري
        • نظام الكلية الصناعية
        • نظام مؤسسة المياه
        • نظام نقل مؤتمرات الفيديو
      • قارن بين نظامي Windows, Linux من ناحية الاعتمادية
    •  
    • Availability and reliability
      • Reliability
        • The probability of failure-free system operation over a specified time in a given environment for a given purpose
      • Availability
        • The probability that a system, at a point in time , will be operational and able to deliver the requested services
      • Both of these attributes can be expressed quantitatively
    • مقارنة بين Availability و Reliability
      • بالتأكيد هناك علاقة بين كون النظام متاحاً وكونه موثوقاً لأن النظام غير المتاح لا يمكن أن يعطي خدمات وقد تدرج صفة الإتاحة في إطار الموثوقية ولكن ذلك لا يمنع من التمييز بينهما .
      • إدخال زمن الإصلاح يوضح الفرق :
        • لنقارن بين نظام أول يتعطل خمس مرات في السنة والثاني عشر مرات الأول موثوق أكثر .
        • إذا كان زمن إصلاح الأول أسبوع والثاني دقيقتان فإن الثاني سيكون متاحاً أكثر
    • Reliability terminology
    • Reliability terminology
      • Failure يتعلق بقصور النظام عن تقديم المتوقع منه في لحظة ما
      • Error هي حالة عطب للنظام تجعل سلوكه شاذاً
      • Fault غلطة في البرمجية تؤدي لحالة خاطئة في النظام
      • Human mistake الخطأ البشري الذي يؤدي لغلطة
      • Failure  Error  Fault  Human mistake
    • Faults and failures
      • قد لا تؤدي الغلطات بالضرورة إلى عطب في النظام :
        • فقد يتم تدارك الغلطة الموجودة في النظام وتصحيحها قبل أن تتحول إلى حالة عطب . مثال : ( Debugging )
      • حالة العطب قد لا تؤدي إلى عجز في النظام :
        • يمكن أن يتم التغلب على حالة العطب من خلال آلية مدمجة مع النظام من أجل كشف حالات العطب وتغطيتها . مثال Redundant Modules ( صاروخ أريان )
        • يمكن أن تكون هناك آلية داخلية للحماية ( مثلاً حماية الموارد ) من القصور ( مثلاً الفيوز في الأنظمة الكهربائية )
    • Perceptions of reliability
      • على العموم المستخدم لا يعبر عن احتياجاته بشكل جيد .
      • قد تتأثر الوثوقية بالمستخدم :
        • ربما تكون هناك حالة عطب في أحد أجزاء النظام . سيكون النظام غير موثوق بالنسبة للشخص الذي يستخدم الجزء بينما قد يكون النظام موثوقاً من قبل مستخدم لجزء آخر مستقل عن مكان العطب .
        • قد يكون مستخدم ما أكثر حساسية لقصور ما من مستخدم آخر .
      • قد تتأثر الوثوقية بالبيئة :
        • عندما يكون نظام مساحة السيارة ضعيفاً فربما تكون السيارة موثوقة عند استعمالها في البيئات الجافة بعكس البيئات الماطرة .
    • Reliability achievement تحسين الوثوقية
      • Fault avoidance
        • Development technique are used that either minimise the possibility of mistakes or trap mistakes before they result in the introduction of system faults
      • Fault detection and removal
        • Verification and validation techniques that increase the probability of detecting and correcting errors before the system goes into service are used
      • Fault tolerance
        • Run-time techniques are used to ensure that system faults do not result in system errors and/or that system errors do not lead to system failures
    • Input/output mapping
    • Reliability perception
    • Safety
      • Safety is a property of a system that reflects the system’s ability to operate, normally or abnormally, without danger of causing human injury or death and without damage to the system’s environment.
      • It is increasingly important to consider software safety as more and more devices incorporate software-based control systems
      • Safety requirements are exclusive requirements i.e. they exclude undesirable situations rather than specify required system services
      • Primary safety-critical systems
        • Embedded software systems whose failure can cause the associated hardware to fail and directly threaten people.
        • مثل برنامج يتحكم بمخرطة أو منشأة كيماوية .
      • Secondary safety-critical systems
        • Systems whose failure results in faults in other systems which can threaten people
        • مثل الخطأ في برنامج تصميم
      • Discussion here focuses on primary safety-critical systems
        • Secondary safety-critical systems can only be considered on a one-off basis
      Safety criticality
      • الوثوقية والسلامة مترابطتان . قد تكون الوثوقية والإتاحة خاصتين ضروريتين ولكن غير كافيتين للسلامة .
      • ليس النظام الموثوق آمناً بالضرورة
        • ( تنفيذ أمر ضم العجلات قبل الإقلاع في الطائرة سيسبب تدمير الطائرة )
        • السيارات - ألعاب الأطفال ...
        • أحياناً يكون النظام مصمماً بحسب المتطلبات Specifications ولكن المستخدم أغفل شروط السلامة .
        • قد يؤدي عطب حساس ما (HW) إلى إدخال قيمة خاطئة للنظام وبالتالي التأثير على نظام السلامة .
      Safety and Reliability
    • Safety terminology
      • Mishap|Accident حدث أوسلسلة أحداث غير مخطط لها تسبب مصيبة ( موت - ضرر بشري أو مادي أو بيئي ) مثل الآلة التي يتحكم بها برنامج وتسبب ضرراً .
      • Hazard الخلل هو حالة Condition تجعل احتمال الحادث مرتفعاً مثل عطب حساس ما ( حساس إضاءة الكلية ).
      • Damage مقياس للضرر الناتج عن حادث ما .
      • Hazard Severity تقدير ما ينتج عن الخلل في أسوأ الحالات .
      • Hazard probability احتمال حدوث ما يؤدي للخلل .
      • Risk احتمال أن يسبب النظام مصيبة ويتعلق باحتمالات ماسبق .
    • Safety achievement تحسين السلامة
      • Hazard avoidance
        • The system is designed so that some classes of hazard simply cannot arise.
        • المنشرة تتطلب ضغط مفتاحين  تخفيف احتمال قطع اليد .
      • Hazard detection and removal
        • The system is designed so that hazards are detected and removed before they result in an accident
        • يتم تنفيس زيادة الضغط في منشأة كيماوية من خلال صمام .
        • طنجرة الضغط
      • Damage limitation
        • The system includes protection features that minimise the damage that may result from an accident
    • Safety achievement تحسين السلامة
      • Damage limitation
        • The system includes protection features that minimise the damage that may result from an accident
        • في حال تحسس الحريق يعمل نظام الإطفاء آلياً
        • محرك السيارة فولفو يسقط عند حدوث اصطدام .
    • Normal accidents
      • تصمم الأنظمة بحيث تأخذ في الحسبان احتمال حدوث مشكلة دون حدوث ضرر أو عجز
      • لكن أكثر المصائب تحدث نتيجة تراكب المشاكل
      • من المستحيل دراسة إمكانية تراكب الأخطاء وبالتالي فمن المستحيل الوصول إلى درجة السلامة المطلقة
    • Security
      • The security of a system is a system property that reflects the system’s ability to protect itself from accidental or deliberate external attack
      • Security is becoming increasingly important as systems are networked so that external access to the system through the Internet is possible
      • Security is an essential pre-requisite for availability, reliability and safety
    • Fundamental security
      • If a system is a networked system and is insecure then statements about its reliability and its safety are unreliable
      • These statements depend on the executing system and the developed system being the same. However, intrusion can change the executing system and/or its data
      • Therefore, the reliability and safety assurance is no longer valid
    • Security terminology
    • Security terminology
      • Exposure أذى أو ضياع في النظام المعلوماتي للوقت والمعطيات والجهد اللازم للإصلاح
      • Vulnerability الهشاشة الموجودة في نظام معتمد على الحاسوب والتي قد تستغل لإحداث أذى
      • Attack استغلال الهشاشة عبر محاولة مقصودة لإحداث ضرر عادة من خارج النظام
      • Threats ظروف تجعل الضياع أو الأذى محتملاً ويمكن أن تعتبر نقاط الضعف التي تتم مهاجمتها
      • Control اجراء وقائي لتخفيض هشاشة النظام . مثلاً التشفير يخفف الهشاشة المتمثلة في امكانية الوصول للمعلومة
    • Damage from insecurity
      • Denial of service
        • The system is forced into a state where normal services are unavailable or where service provision is significantly degraded
      • Corruption of programs or data
        • The programs or data in the system may be modified in an unauthorised way
      • Disclosure of confidential information
        • Information that is managed by the system may be exposed to people who are not authorised to read or use that information
    • Security assurance
      • Vulnerability avoidance
        • The system is designed so that vulnerabilities do not occur. For example, if there is no external network connection then external attack is impossible
      • Attack detection and elimination
        • The system is designed so that attacks on vulnerabilities are detected and neutralised before they result in an exposure. For example, virus checkers find and remove viruses before they infect a system
      • Exposure limitation
        • The system is designed so that the adverse consequences of a successful attack are minimised. For example, a backup policy allows damaged information to be restored