التحقق من النموذج

في علوم الحاسوب ، يُعدّ التحقق من النموذج أو التحقق من الخصائص أسلوبًا للتحقق مما إذا كان نموذج الحالة المحدودة لنظام ما يفي بمواصفات معينة (يُعرف أيضًا بالصحة ). ويرتبط هذا عادةً بأنظمة الأجهزة أو البرامج ، حيث تتضمن المواصفات متطلبات حيوية (مثل تجنب حالة التعطل ) بالإضافة إلى متطلبات السلامة (مثل تجنب الحالات التي تمثل انهيار النظام ).
لحل هذه المشكلة خوارزميًا ، يُصاغ كل من نموذج النظام ومواصفاته بلغة رياضية دقيقة. ولتحقيق هذه الغاية، تُصاغ المشكلة كمهمة منطقية ، وهي التحقق مما إذا كان هيكل ما يحقق صيغة منطقية معينة. ينطبق هذا المفهوم العام على أنواع عديدة من المنطق وأنواع عديدة من الهياكل. وتتمثل مشكلة التحقق من النموذج البسيطة في التحقق مما إذا كانت صيغة في منطق القضايا تحققها بنية معينة.
ملخص
يُستخدم فحص الخصائص للتحقق عندما لا يكون وصفان متكافئين. أثناء التحسين ، تُستكمل المواصفات بتفاصيل غير ضرورية في المواصفات ذات المستوى الأعلى. لا حاجة للتحقق من الخصائص المُضافة حديثًا مقابل المواصفات الأصلية، إذ لا يمكن ذلك. لذلك، يُخفف فحص التكافؤ الثنائي الصارم إلى فحص خصائص أحادي الاتجاه. يُعتبر التنفيذ أو التصميم نموذجًا للنظام، بينما تُمثل المواصفات خصائص يجب أن يستوفيها النموذج. [ 2 ]
طُوِّرت فئةٌ مهمةٌ من أساليب التحقق من النماذج لفحص نماذج تصميمات الأجهزة والبرامج ، حيث تُعطى المواصفات بصيغة منطقية زمنية . وقد قام أمير بنويلي بعملٍ رائدٍ في مجال مواصفات المنطق الزمني ، وحصل على جائزة تورينج عام 1996 عن "عمله الرائد في إدخال المنطق الزمني إلى علوم الحاسوب". [ 3 ] بدأ التحقق من النماذج مع العمل الرائد لكلٍّ من إي إم كلارك ، وإي إيه إيمرسون ، [ 4 ] [ 5 ] [ 6 ] وجي بي كويل، وجيه سيفاكيس . [ 7 ] تقاسم كلارك وإيمرسون وسيفاكيس جائزة تورينج عام 2007 لعملهم الرائد في تأسيس وتطوير مجال التحقق من النماذج. [ 8 ] [ 9 ]
يُستخدم التحقق من النماذج غالبًا في تصميمات الأجهزة. أما بالنسبة للبرمجيات، فبسبب عدم قابلية الحسم (انظر نظرية الحوسبة )، لا يمكن أن يكون هذا النهج خوارزميًا بالكامل، أو أن ينطبق على جميع الأنظمة، أو أن يُعطي إجابة دائمًا؛ ففي الحالة العامة، قد يفشل في إثبات أو دحض خاصية معينة. في أجهزة الأنظمة المدمجة ، من الممكن التحقق من صحة المواصفات المُقدمة، على سبيل المثال، باستخدام مخططات نشاط UML [ 10 ] أو شبكات بتري المُفسَّرة للتحكم [ 11 ] .
عادةً ما يُقدَّم هيكل البرنامج كوصفٍ لشفرة المصدر بلغة وصف الأجهزة الصناعية أو لغة برمجة متخصصة. يُقابل هذا البرنامج آلة الحالة المحدودة (FSM)، أي رسمًا بيانيًا موجهًا يتكون من عُقد (أو رؤوس ) وحواف . ترتبط بكل عُقدة مجموعة من القضايا الذرية، تُحدد عادةً عناصر الذاكرة التي قيمتها واحد. تُمثل العُقد حالات النظام، بينما تُمثل الحواف الانتقالات المُحتملة التي قد تُغير الحالة، في حين تُمثل القضايا الذرية الخصائص الأساسية التي تسري عند نقطة التنفيذ. [ 12 ]
بصورة رسمية، يمكن صياغة المشكلة على النحو التالي: بالنظر إلى خاصية مرغوبة، معبر عنها بصيغة منطقية زمنيةوهيكلمع الحالة الأوليةقرر ما إذا. لوبما أن البيانات محدودة، كما هو الحال في الأجهزة، فإن التحقق من النموذج يختزل إلى بحث في الرسم البياني .
التحقق من النموذج الرمزي
بدلاً من تعداد الحالات المتاحة حالةً تلو الأخرى، يمكن أحيانًا اجتياز فضاء الحالة بكفاءة أكبر من خلال النظر في عدد كبير من الحالات في خطوة واحدة. عندما يعتمد اجتياز فضاء الحالة هذا على تمثيلات لمجموعة من الحالات وعلاقات الانتقال كصيغ منطقية، أو مخططات قرارات ثنائية (BDD)، أو هياكل بيانات أخرى ذات صلة، فإن طريقة التحقق من النموذج تكون رمزية .
تاريخيًا، استخدمت الطرق الرمزية الأولى مخططات القرار الثنائية (BDDs ). بعد نجاح إمكانية إرضاء القضايا في حل مشكلة التخطيط في الذكاء الاصطناعي (انظر satplan ) عام 1996، عُمِّمَ النهج نفسه للتحقق من صحة النماذج في المنطق الزمني الخطي (LTL): إذ تُقابل مشكلة التخطيط التحقق من صحة النماذج لخصائص السلامة. تُعرف هذه الطريقة بالتحقق المحدود من صحة النماذج. [ 13 ] وقد أدى نجاح حلول إمكانية إرضاء القضايا المنطقية في التحقق المحدود من صحة النماذج إلى انتشار استخدام حلول إمكانية الإرضاء في التحقق الرمزي من صحة النماذج. [ 14 ]
مثال
أحد الأمثلة على متطلبات النظام هذه: بين وقت استدعاء المصعد في طابق معين ووقت فتح أبوابه في ذلك الطابق، لا يمكن للمصعد الوصول إلى ذلك الطابق أكثر من مرتين . وقد ترجم مؤلفو كتاب "أنماط في مواصفات الخصائص للتحقق من الحالات المحدودة" هذا المتطلب إلى صيغة LTL التالية: [ 15 ]
هنا،ينبغي قراءتها على أنها "دائماً"،بمعنى "في نهاية المطاف"،بما أن "حتى" والرموز الأخرى هي رموز منطقية قياسية،لـ "أو"،لـ "و" ولـ "لا"
التقنيات
تواجه أدوات التحقق من النماذج مشكلة تضخم فضاء الحالة، والمعروفة باسم مشكلة انفجار الحالة ، والتي يجب معالجتها لحل معظم مشاكل العالم الحقيقي. وهناك عدة طرق لمواجهة هذه المشكلة.
- تتجنب الخوارزميات الرمزية إنشاء الرسم البياني لآلة الحالة المحدودة (FSM) بشكل صريح؛ بل تمثله ضمنيًا باستخدام صيغة في منطق القضايا الكمي. وقد شاع استخدام مخططات القرار الثنائية (BDDs) بفضل أعمال كين ماكميلان [ 16 ] ، وكذلك أعمال أوليفييه كودير وجان كريستوف مادري [ 17 ] ، وتطوير مكتبات مفتوحة المصدر لمعالجة مخططات القرار الثنائية مثل CUDD [ 18 ] وBuDDy [ 19 ] .
- تقوم خوارزميات التحقق من النموذج المحدود بفكّ آلة الحالة المحدودة لعدد ثابت من الخطوات،وتحقق مما إذا كان من الممكن حدوث انتهاك للملكية فيأو خطوات أقل. يتضمن هذا عادةً ترميز النموذج المقيد كمثال على SAT . يمكن تكرار العملية بقيم أكبر فأكبر لـإلى أن يتم استبعاد جميع الانتهاكات المحتملة (انظر البحث التكراري العميق أولاً ).
- يسعى التجريد إلى إثبات خصائص نظام ما من خلال تبسيطه أولًا. عادةً لا يُحقق النظام المُبسط نفس خصائص النظام الأصلي تمامًا، مما قد يستدعي عملية تحسين. عمومًا، يُشترط أن يكون التجريد سليمًا (أي أن الخصائص المُثبتة فيه تنطبق على النظام الأصلي)؛ مع ذلك، قد لا يكون التجريد كاملًا في بعض الأحيان (أي أن بعض خصائص النظام الأصلي لا تنطبق على التجريد). من أمثلة التجريد تجاهل قيم المتغيرات غير المنطقية والاكتفاء بالمتغيرات المنطقية وتدفق التحكم في البرنامج؛ قد يكون هذا التجريد، رغم بساطته الظاهرية، كافيًا لإثبات خصائص مثل الاستبعاد المتبادل .
- تبدأ عملية تحسين التجريد الموجه بالأمثلة المضادة (CEGAR) بالتحقق من خلال تجريد تقريبي (أي غير دقيق) ثم تُحسّنه بشكل متكرر. عند اكتشاف انتهاك (أي مثال مضاد )، تُحلل الأداة مدى جدواه (أي، هل الانتهاك حقيقي أم ناتج عن تجريد غير مكتمل؟). إذا كان الانتهاك ممكنًا، يتم إبلاغ المستخدم به. أما إذا لم يكن كذلك، فيُستخدم دليل عدم الجدوى لتحسين التجريد، ثم يبدأ التحقق من جديد. [ 20 ]
تم تطوير أدوات التحقق من النماذج في البداية للتفكير في الصحة المنطقية لأنظمة الحالة المنفصلة ، ولكن تم توسيعها منذ ذلك الحين للتعامل مع الوقت الحقيقي والأشكال المحدودة من الأنظمة الهجينة .
منطق الرتبة الأولى
تُدرس عملية التحقق من النماذج أيضًا في مجال نظرية التعقيد الحسابي . وعلى وجه التحديد، يتم تثبيت صيغة منطقية من الدرجة الأولى بدون متغيرات حرة ، ويتم النظر في مسألة القرار التالية :
بالنظر إلى تفسير محدود ، على سبيل المثال، تفسير يوصف بأنه قاعدة بيانات علائقية ، قرر ما إذا كان التفسير نموذجًا للصيغة.
تندرج هذه المسألة ضمن فئة الدوائر AC 0. ويمكن حلها عند فرض بعض القيود على بنية الإدخال، كاشتراط أن يكون عرض الشجرة محدودًا بثابت (وهو ما يعني عمومًا سهولة التحقق من النموذج لمنطق الرتبة الثانية الأحادي )، وتحديد درجة كل عنصر من عناصر المجال، وشروط أكثر عمومية كالتوسع المحدود ، والتوسع المحدود محليًا، والبنى غير الكثيفة في أي مكان. [ 21 ] وقد وُسِّعت هذه النتائج لتشمل مهمة حصر جميع حلول صيغة من الرتبة الأولى ذات متغيرات حرة.
أدوات
فيما يلي قائمة بأدوات التحقق من النماذج المهمة:
- أفرا: أداة للتحقق من النماذج للغة ريبيكا، وهي لغة قائمة على الممثلين لنمذجة الأنظمة المتزامنة والتفاعلية
- سبيكة (محلل السبائك)
- BLAST (أداة التحقق من البرمجيات بتقنية التجريد الكسول من بيركلي)
- CADP (بناء وتحليل العمليات الموزعة) هي مجموعة أدوات لتصميم بروتوكولات الاتصال والأنظمة الموزعة
- CPAchecker : أداة مفتوحة المصدر للتحقق من نماذج البرامج المكتوبة بلغة C، تعتمد على إطار عمل CPA
- إكلير : منصة للتحليل والتحقق والاختبار والتحويل التلقائي لبرامج C و C++
- FDR2 : أداة للتحقق من صحة نماذج الأنظمة في الوقت الحقيقي التي تم تصميمها وتحديدها كعمليات CSP
- FizzBee : بديل أسهل استخدامًا لـ TLA+، يستخدم لغة مواصفات شبيهة بلغة بايثون، ويحتوي على نمذجة سلوكية مثل TLA+ ونمذجة احتمالية مثل PRISM
- أداة التحقق من مستوى كود ISP لبرامج MPI
- جافا باثفايندر : أداة مفتوحة المصدر للتحقق من نماذج برامج جافا
- Libdmc : إطار عمل للتحقق من النماذج الموزعة
- مجموعة أدوات mCRL2 ، رخصة برنامج Boost ، مبنية على ACP
- NuSMV : مدقق نماذج رمزية جديد
- PAT : محاكي مُحسَّن، ومدقق نماذج، ومدقق تحسينات للأنظمة المتزامنة والأنظمة التي تعمل في الوقت الحقيقي
- بريزم : مدقق نماذج رمزية احتمالية
- روميو : بيئة أدوات متكاملة لنمذجة ومحاكاة والتحقق من أنظمة الوقت الحقيقي المصممة كشبكات بتري بارامترية وزمنية وشبكات بتري ساعة الإيقاف
- SPIN : أداة عامة للتحقق من صحة نماذج البرمجيات الموزعة بطريقة دقيقة وآلية في الغالب
- ستورم : [ 22 ] مدقق نماذج للأنظمة الاحتمالية.
- TAPAs : أداة لتحليل جبر العمليات
- TAPAAL : بيئة أدوات متكاملة لنمذجة شبكات بتري ذات الأقواس الموقوتة والتحقق من صحتها والتحقق منها
- مدقق نموذج TLA+ من تصميم ليزلي لامبورت
- UPPAAL : بيئة أدوات متكاملة لنمذجة أنظمة الوقت الحقيقي والتحقق من صحتها والتحقق منها، والتي يتم نمذجتها كشبكات من الأتمتة الموقوتة
- Zing [ 23 ] – أداة تجريبية من مايكروسوفت للتحقق من صحة نماذج حالة البرمجيات على مستويات مختلفة: أوصاف البروتوكولات عالية المستوى، ومواصفات سير العمل، وخدمات الويب، وبرامج تشغيل الأجهزة، والبروتوكولات في صميم نظام التشغيل. يُستخدم Zing حاليًا لتطوير برامج تشغيل لنظام ويندوز.
انظر أيضاً
مراجع
- ↑ لتسهيل الأمر، تمت إعادة صياغة خصائص المثال هنا بلغة طبيعية. تتطلب أدوات التحقق من النماذج التعبير عنها بمنطق رسمي، مثل LTL .
- ↑ لام ك.، ويليام (2005). "الفصل 1.1: ما هو التحقق من التصميم؟" . التحقق من تصميم الأجهزة: المحاكاة والأساليب الرسمية القائمة على الطرق . تم الاسترجاع في 12 ديسمبر 2012 .
- ↑ "أمير بنويلي - الحائز على جائزة تورينج" .
- ↑ ألين إيمرسون، إي.؛ كلارك، إدموند م. (1980)، "توصيف خصائص صحة البرامج المتوازية باستخدام النقاط الثابتة"، الأوتوماتا واللغات والبرمجة ، سلسلة محاضرات في علوم الحاسوب، المجلد 85، الصفحات 169-181 ، doi : 10.1007/3-540-10003-2_69 ، ISBN 978-3-540-10003-4
- ↑ إدموند م. كلارك، إي. ألين إيمرسون: "تصميم وتوليف هياكل التزامن باستخدام منطق زمني متفرع" . منطق البرامج 1981: 52-71.
- ↑ كلارك، إي إم؛ إيمرسون، إي إيه؛ سيستلا، إيه بي (1986)، "التحقق التلقائي من الأنظمة المتزامنة ذات الحالات المحدودة باستخدام مواصفات المنطق الزمني"، معاملات ACM في لغات البرمجة والأنظمة ، 8 (2): 244، doi : 10.1145/5397.5399 ، S2CID 52853200
- ↑ كويل، جيه بي؛ سيفاكيس، جيه (1982)، "تحديد وتحقق الأنظمة المتزامنة في سيزار"، الندوة الدولية حول البرمجة ، سلسلة محاضرات في علوم الحاسوب، المجلد 137، الصفحات 337-351 ، doi : 10.1007/3-540-11494-7_22 ، ISBN 978-3-540-11494-9
- ↑ "بيان صحفي: جائزة تورينج من جمعية آلات الحوسبة تُكرّم مؤسسي تقنية التحقق الآلي" . مؤرشف من الأصل بتاريخ 28 ديسمبر 2008. تم الاطلاع عليه بتاريخ 6 يناير 2009 .
- ↑ أعلنت جمعية الموسيقى الأمريكية (USACM) عن الفائزين بجائزة تورينج لعام 2007
- ↑ جروبيلنا، إيونا؛ جروبيلني، ميخال؛ أدامسكي، ماريان (2014). "التحقق من نموذج مخططات نشاط UML في تصميم وحدات التحكم المنطقية". وقائع المؤتمر الدولي التاسع حول الموثوقية والأنظمة المعقدة DepCoS-RELCOMEX. 30 يونيو - 4 يوليو 2014، برونوف، بولندا . التقدم في الأنظمة الذكية والحوسبة. المجلد 286. الصفحات 233-242 . doi : 10.1007/978-3-319-07013-1_22 . ISBN 978-3-319-07012-4.
- ↑ I. Grobelna, " التحقق الرسمي من مواصفات وحدة التحكم المنطقية المضمنة باستخدام الاستدلال الحاسوبي في المنطق الزمني "، Przeglad Elektrotechniczny، المجلد 87، العدد 12أ، الصفحات 47-50، 2011
- ↑ تستند هذه المقالة إلى مواد مأخوذة من Model+checking في قاموس الحوسبة المجاني على الإنترنت قبل 1 نوفمبر 2008 وتم دمجها بموجب شروط "إعادة الترخيص" الخاصة بـ GFDL ، الإصدار 1.3 أو أحدث.
- ↑ كلارك، إي.؛ بير، أ.؛ رايمي، ر.؛ تشو، ي. (2001). "التحقق من النموذج المحدود باستخدام حل قابلية الإرضاء". الأساليب الرسمية في تصميم الأنظمة . 19 : 7-34 . doi : 10.1023/A:1011276507260 . S2CID 2484208 .
- ↑ فيزل، ي.؛ فايسنباخر، ج.؛ مالك، س. (2015). "حلول قابلية الإرضاء المنطقية وتطبيقاتها في التحقق من النماذج". وقائع معهد مهندسي الكهرباء والإلكترونيات . 103 (11): 2021-2035 . doi : 10.1109/JPROC.2015.2455034 . S2CID 10190144 .
- ↑ دوير، م.؛ أفرونين، ج.؛ كوربيت، ج. (مايو 1999). "أنماط في مواصفات الخصائص للتحقق من الحالات المحدودة". أنماط في مواصفات الخصائص للتحقق من الحالات المحدودة . وقائع المؤتمر الدولي الحادي والعشرين لهندسة البرمجيات. ص 411-420 . doi : 10.1145/302405.302672 . ISBN 1581130740.
- ↑
- التحقق من النموذج الرمزي ، كينيث إل. ماكميلان، كلوير، رقم ISBN 0-7923-9380-5، متاح أيضًا على الإنترنت. مؤرشف بتاريخ 2007-06-02 في Wayback Machine .
- ↑ كودير، أ.؛ مادري، ج. س. (1990). "إطار موحد للتحقق الرسمي من الدوائر التسلسلية" (ملف PDF) . المؤتمر الدولي لعام 1990 التابع لمعهد مهندسي الكهرباء والإلكترونيات حول التصميم بمساعدة الحاسوب. ملخص الأوراق التقنية . مطبعة جمعية الحاسوب التابعة لمعهد مهندسي الكهرباء والإلكترونيات. الصفحات 126-129 . doi : 10.1109/ICCAD.1990.129859 . ISBN 978-0-8186-2055-3.
- ^ "CUDD: حزمة مخطط قرار CU" .
- ↑ "BuDDy – حزمة مخططات القرار الثنائي" .
- ↑ كلارك، إدموند؛ غرومبيرغ، أورنا؛ جها، سوميش؛ لو، يوان؛ فيث، هيلموت (2000)، "تحسين التجريد الموجه بالأمثلة المضادة"، التحقق بمساعدة الحاسوب (ملف PDF) ، سلسلة محاضرات في علوم الحاسوب، المجلد 1855، الصفحات 154-169 ، doi : 10.1007/10722167_15 ، ISBN 978-3-540-67770-3
- ↑ داوار، أ؛ كرويتزر، س (2009). "التعقيد المُعَلم لمنطق الرتبة الأولى" (ملف PDF) . ECCC . S2CID 5856640. مؤرشف من الأصل (ملف PDF) بتاريخ 2019-03-03.
- ↑ مدقق نموذج العاصفة
- ↑ زينغ
للمزيد من القراءة
- بيليد، دورون أ . بيليتشيوني، باتريسيو؛ سبوليتيني ، باولا (2009). "التحقق من النموذج" . موسوعة وايلي لعلوم وهندسة الكمبيوتر . ص 1904 – 1920. دوى : 10.1002 / 9780470050118.ecse247 . رقم ISBN 978-0-470-05011-8. S2CID 5371327 .
- كلارك، إدموند م .؛ غرومبيرغ، أورنا ؛ بيليد، دورون أ. (1999). التحقق من النماذج . مطبعة معهد ماساتشوستس للتكنولوجيا . ISBN 0-262-03270-8.
- بيرارد، ب.؛ بيدوا، م.؛ فينكل، أ.؛ لاروسيني، ف.؛ بيتي، أ.؛ بيتروتشي، ل.؛ شنوبيلين، ب. (20 يونيو 2001). التحقق من الأنظمة والبرمجيات: تقنيات وأدوات التحقق من النماذج . سبرينغر. ISBN 3-540-41523-8.
- هوث، مايكل؛ رايان، مارك (2004). المنطق في علوم الحاسوب: نمذجة الأنظمة والاستدلال حولها . مطبعة جامعة كامبريدج .
- هولزمان، جيرارد ج. مدقق نموذج الدوران: دليل تمهيدي ومرجعي . أديسون-ويسلي. ISBN 0-321-22862-6.
- برادفيلد، جوليان؛ ستيرلينغ، كولين (2001). "المنطق الموجه وحسابات ميو: مقدمة" . دليل جبر العمليات . إلسيفير. ص 293-330 . doi : 10.1016/B978-044482830-9/50022-9 . ISBN 978-0-444-82830-9.. JA Bergstra، A. Ponse و SA Smolka، المحررون." ().
- "أنماط المواصفات" . مختبر SAnToS، جامعة ولاية كانساس. مؤرشف من الأصل بتاريخ 19-07-2011.
- "تعيينات أنماط الخصائص لـ RAFMC" . CADP: بناء وتحليل العمليات الموزعة . 2019.
- ماتيسكو، رادو؛ سيغيريانو، ميهايلا (2003). "التحقق الفعال من النموذج أثناء التشغيل لحساب التفاضل والتكامل المنتظم الخالي من التناوب" (ملف PDF) . مجلة علوم برمجة الحاسوب . 46 (3): 255-281 . doi : 10.1016/S0167-6423(02)00094-1 . S2CID 10942856 .
- مولر-أولم، م.؛ شميدت، د.أ.؛ ستيفن، ب. (1999). "التحقق من النموذج: مقدمة تعليمية". التحليل الثابت: الندوة الدولية السادسة، SAS'99، البندقية، إيطاليا، 22-24 سبتمبر 1999، وقائع المؤتمر . المجلد 1694. سلسلة محاضرات في علوم الحاسوب: سبرينغر. الصفحات 330-354 . CiteSeerX 10.1.1.96.3011 . doi : 10.1007/3-540-48294-6_22 . ISBN 978-3-540-48294-9.
- باير، سي .؛ كاتون، ج. (2008). مبادئ التحقق من النماذج . مطبعة معهد ماساتشوستس للتكنولوجيا. ISBN 978-0-262-30403-0.
- كلارك، إي إم (2008). "نشأة التحقق من النماذج". 25 عامًا من التحقق من النماذج . سلسلة محاضرات في علوم الحاسوب. المجلد 5000. الصفحات 1-26 . doi : 10.1007/978-3-540-69850-0_1 . ISBN 978-3-540-69849-4.
- إيمرسون، إي. ألين (2008). "بداية التحقق من النماذج: منظور شخصي". في: غرومبيرغ، أورنا؛ فيث، هيلموت (محرران). 25 عامًا من التحقق من النماذج - التاريخ، والإنجازات، والآفاق . سلسلة محاضرات في علوم الحاسوب. المجلد 5000. سبرينغر. الصفحات 27-45 . doi : 10.1007/978-3-540-69850-0_2 . ISBN 978-3-540-69849-4.(هذه أيضًا مقدمة ونظرة عامة جيدة جدًا على التحقق من النماذج)
- التحقق من النموذج
- المنطق في علوم الحاسوب
