مواصفات واجهة Ada الدلالية

مواصفات واجهة Ada الدلالية ( ASIS ) هي بنية مفتوحة متعددة الطبقات توفر وصولاً مستقلاً عن الموردين إلى بيئة مكتبة Ada . وتتيح هذه المواصفات التحليل الثابت لبرامج ومكتبات Ada. وهي مكتبة واجهة مفتوحة ومنشورة تتألف من بيئة Ada وأدواتها وتطبيقاتها.

كما أوضح فريق عمل ASIS :

"ASIS هي واجهة بين بيئة Ada كما هو محدد بواسطة ISO/IEC 8652:1995 (دليل Ada المرجعي) وأي أداة تتطلب معلومات من هذه البيئة" (SIGAda، 2020).

يُستخدم نظام ASIS حصريًا لتطبيقات لغات البرمجة والتحليل الثابت لبرامج Ada، مما يوفر المعلومات اللازمة وإمكانية الوصول إلى هندسة البرمجيات بمساعدة الحاسوب (CASE) والمطورين المعنيين. كما يتميز ASIS بقدرته على استخدام أدوات هندسة البرمجيات ذات الصلة، مع توفير فهم سهل لتعقيدات بيئة عرض Ada. بالإضافة إلى ذلك، يوفر النظام إجراءات ووظائف ومعلومات هامة يمكن استخدامها للوصول إلى معلومات حصرية موجودة في أدلة المراجع وشجرة بناء الجملة المجردة (AST). وهذا بدوره يُعزز من قدرة ASIS على نقل المعلومات والمصطلحات الخاصة بأدوات Ada والاحتفاظ بها. [ 1 ]

يتألف نظام ASIS من 21 حزمة، اثنتان منها اختياريتان، وتُعرّف هذه الحزم 349 استعلامًا. [ 2 ] كما يتضمن ASIS حزمةً تحتوي على حزم فرعية تشمل: وحدات تجميع الأخطاء، وبيئات Ada، والتنفيذ، والاستثناءات، والعناصر، والمكررات، والتصريحات، والتعبيرات، والعبارات، والتعريفات، والبيانات، والنصوص، والمعرفات. [ 3 ]

بشكل عام، يعد ASIS ببساطة طريقة مباشرة لجمع البيانات من برنامج ADA ويزيد من قابلية نقل أي من أدوات Ada.

برمجة آدا/جميع الفصول. المجلد الأول من مجموعة من ثلاثة مجلدات. أساس نظام ASIS

ميزات نظام ASIS

تم تعريف مواصفات Ada Semantic Interphase في إطار دليل مرجعي ISO/IEC 8652 Ada 95 (دليل مرجعي للغة Ada، 1994) على أنها واجهة بين بيئة Aria وأدوات أخرى تتطلب معلومات من بيئة Aria.

قد تشمل ميزات الأدوات القائمة على نظام ASIS ما يلي: [ 4 ]

  • تحليل عالي الجودة للبرمجيات
  • أجهزة مراقبة التعليمات البرمجية الآلية
  • المتصفحات
  • أدوات شجرة الاتصال
  • مُعيدو ترميز الشفرة
  • أدوات الامتثال لمعايير الترميز
  • مدققو الصحة
  • أدوات تصحيح الأخطاء
  • أدوات تحليل شجرة التبعية
  • أدوات التصميم
  • مولدات المستندات
  • أدوات القياس
  • أدوات الهندسة العكسية
  • أدوات إعادة الهندسة
  • مربعات الأنماط
  • أدوات الاختبار
  • مقدرات التوقيت
  • مترجمون

توفر ASIS أيضًا مناهج محدودة للمعلومات الهيكلية والدلالية الموجودة في مكتبة Ada، وتهدف إلى توفير وإنتاج معلومات ذات مستوى دلالي مشابه، إن لم يكن مطابقًا تمامًا، لتعريف Ada. سيساعد هذا بشكل كبير في توفير نفس التعريفات والمعلومات الواردة في دليل مرجع لغة برمجة Ada (LRM) للأفراد والعملاء المهتمين (إهرنفريد).

الملخصات الرئيسية

في نظام ASIS، توجد ثلاثة تجريدات رئيسية ضمن أنواع Ada "الخاصة". وهي: السياق، ووحدة التجميع، والعنصر. [ 5 ] مع وجود أنواع تجريدات إضافية، إلا أن الأنواع الثلاثة المذكورة هي الأساسية.

سياق

يتألف تجريد السياق في نظام ASIS من التعريفات والمصطلحات والأحكام المتاحة في استعلامات ASIS. كما يُستخدم كطريقة ومقبض منطقي لبيئة Ada. [ 4 ]

وحدة التجميع

تُعدّ وحدة التجميع أيضًا بمثابة مُعرّف منطقي لبيئة Ada. يُحدّد هذا التجريد أيضًا الخصائص والسمات التي يُمكن الاطلاع عليها بالتفصيل في دليل Ada المرجعي . ويستخدم تطبيق لغة برمجة Ada لنقل وحدات التجميع عبر ASIS. كما ذكرت Adacore؛

"يوفر نظام ASIS Compilation_Unitنظرة "الصندوق الأسود" لوحدة التجميع، مع الأخذ في الاعتبار الوحدة ككل. ويمكن تقسيمها إلى أنظمة ASIS Elementثم تحليلها بطريقة "الصندوق الأبيض". [ 4 ]

ومن الأمثلة على هذه الخصائص ما يلي:

  1. وقت آخر تحديث
  2. اسم الكائن الذي يحتوي على نص مصدر الوحدة
عنصر

وبالمثل، فإن تجريد العنصر هو أيضًا مقبض منطقي لوحدة التجميع التي تمت مناقشتها أعلاه، ويمكن أن يكون هذا صريحًا أو ضمنيًا.

هيكل نظام معلومات الأمن السيبراني (ASIS)

يمكن تصنيف بنية تطبيق ASIS إلى ثلاث فئات: إعداد تحليل ASIS، ومعالجة وحدات التجميع، وتحليل ASIS الكامل. تهدف هذه البنية إلى دعم برامج تحليل الشفرة المختلفة التي تظهر في لغة برمجة Ada. [ 3 ]

إعداد تحليل AIS

تتمثل الخطوة الأولى في هيكلة تحليل ASIS في إعداده بكفاءة. خلال هذه الخطوة، يتم تهيئة وتأسيس مختلف المهام والبرامج. على سبيل المثال، وكما أوضح ويليام كولكيت (1999)، في هذه الخطوة يقوم برنامج ASIS بتهيئة النظام، وإنشاء سياق ASIS وكائن الحالة، وربط سياق ASIS بالتحليل، وفتح سياق ASIS، وإجراء أي معالجة مسبقة لازمة لدعم تحليل ASIS. تتمثل الخطوة الأولى عمومًا في تشغيل تحليل ASIS وجعله جاهزًا للاستخدام بكفاءة وفعالية.

وحدات تجميع العمليات

بعد الإعداد، تأتي مرحلة "معالجة وحدات التجميع "، حيث يتم خلالها أخذ عينات من العناصر وتحليلها لتتوافق مع سياق ASIS الذي تم فتحه وربطه في بداية بنية ASIS. في هذه المرحلة، تتم معالجة معظم عناصر تطبيق ASIS بالتوافق مع سياق ASIS، كما تتوفر إمكانية إضافية لتنفيذ وحدات التجميع قبل وبعد المعالجة.

تحليل ASIS الكامل

المرحلة الأخيرة والنهائية من هيكل نظام معلومات الأمن السيبراني (ASIS) هي إتمام تحليل النظام. في هذه المرحلة، يتم الانتهاء من جميع البيانات ومراجعتها تمهيدًا لإجراء أي معالجة لاحقة. كما يتم إغلاق سياق نظام معلومات الأمن السيبراني وفصله، وبذلك يتم الانتهاء من النظام نهائيًا.

معايير التصميم

مع استمرار تطور نظام ASIS، تتطور معايير تصميمه بالتوازي. ويمكن تصنيف معايير تصميم ASIS إلى تسع فئات مختلفة: القبول الواسع، وسهولة النقل، والتوحيد والتماسك، وسهولة التنفيذ، وأحدث التقنيات، وقابلية التوسع، ومصطلحات وأسلوب ADA، والأداء، والحد الأدنى من واجهات المستخدم. [ 6 ]

1. قبول واسع

يجب تصميمها وفقًا لهذا المعيار لضمان إمكانية استخدام مجموعة واسعة من الأدوات في نظام ASIS. يتيح هذا التصميم لمكتبة الواجهة مزيدًا من المرونة والتوافر للأدوات عبر منصات أخرى، بما في ذلك تطبيقات موردي لغة Ada. كما يساهم في تقليل وقت تدريب مستخدمي الأدوات والمطورين.

2. سهولة النقل

يجب أيضًا تصميم نظام ASIS بحيث يكون لديه القدرة على النقل من جهاز كمبيوتر إلى آخر أو من بيئة إلى أخرى.

3. التناسق والتماسك

ينبغي أن يكون متسقًا أيضًا في الخصائص والمفاهيم والأنواع والعمليات، ولكن يجب أيضًا الحفاظ عليه كعملية بسيطة ومتماسكة.

كما يُنتقد نظام ASIS لكونه "قابلاً للتنفيذ من قِبل أي مُورّد لمترجمات لغة آدا بجهد معقول". [ 4 ] بالإضافة إلى الحفاظ على الاتساق في جميع أنحاء البرنامج.

5. حالة التكنولوجيا

يجب تحديث وتطوير التكنولوجيا باستمرار لضمان عدم حدوث أي مشاكل. إضافةً إلى ذلك، ينبغي التأكد من أن جميع الإصدارات والنسخ المختلفة من نظام ASIS ستكون متسقة وفعّالة.

"لا ينبغي أن يمنع ذلك التوسعات التي ستستفيد من نموذج تصميم ASIS والتجريدات." [ 4 ]

7. مصطلحات وأسلوب آدا

ينبغي على ASIS أيضاً التكيف مع شروط وأحكام الأسلوب والتعريفات الواردة في دليل Ada المرجعي.

8. الأداء

"يجب أن يسمح تصميم ASIS بالكفاءة من وجهة نظر العميل ووجهة نظر التنفيذ" [ 4 ]

9. الحد الأدنى من مجموعة الواجهات

"ينبغي أن يسمح ذلك للعملاء بتنفيذ واجهات متعددة الطبقات إضافية باستخدام العمليات الأساسية المتوفرة."

استخدامات نظام ASIS

ASIS لـ GNAT

استخدمت شركة Adacore معيار ASIS لتطبيقه في استخدام تطبيقات ASIS-for-GNAT. ويمكن استخدام ASIS مع GNAT من خلال تطبيقات نموذجية مثل: "التحليل الثابت (التحقق من الخصائص)، وتجهيز الكود، وأدوات تصميم وإنشاء المستندات، وأدوات اختبار المقاييس أو التوقيت، وأدوات تحليل شجرة التبعية، ومولدات قواميس الأنواع، وأدوات تطبيق معايير الترميز، ومترجمات اللغات، وأدوات تقييم الجودة، ومتصفحات ومنسقات المصادر، ومحررات بناء الجملة الموجهة" (ASIS for GNAT).

وقد تم استخدام هذه المنهجية أيضًا لتطوير العديد من الأدوات بمساعدة ASIS بما في ذلك؛

  1. جناتيم
  2. بعوضة صغيرة
  3. فحص البعوض
  4. gnatpp
  5. gnatmetric.

ASIS كعازل

استخدم بايس دروري (1999) برنامج ASIS لإنشاء كود لمشروعه المسمى "SIDPERS-3"، حيث يُستخدم هذا الكود لتحديد التفاصيل الدقيقة والاختلافات الموجودة في البرامج الجاهزة للاستخدام (COTS) المُولّدة من تفاعل قاعدة البيانات. استخدم دروري برنامج ASIS في مشروعه، حيث أنشأ البرنامج طبقة جديدة من كود Ada، مما عزل مطور البرامج بنجاح عن تفاصيل كود Ada المُولّد نفسه. [ 7 ]

بعد كتابة برنامج معقد يُدعى 'generate_db_support_code'، والذي كان يتألف في معظمه من كود Ada، كان الهدف منه فتح ملفين، وفحص محتوياتهما، ثم إنشاء ملفين جديدين بناءً على الملفين السابقين. استُخدم برنامج ASIS لفحص بنية الكود بكفاءة، مما سهّل تخزينه وربطه بقائمة تحتوي على كود Ada. يُنجز ASIS المهام المطلوبة منه بسلاسة، ويضمن الوصول المستمر والآمن إلى معلومات قاعدة البيانات، مما يلبي احتياجات المشروع.

أدا كونترول

AdaControl أداة مجانية (مرخصة بموجب رخصة GMGPL) تكشف استخدام أنواع مختلفة من البنى البرمجية في برامج Ada. تشمل استخداماتها التحقق من معايير البرمجة، واستكشاف استخدام ميزات Ada، وإعداد الإحصائيات، وغير ذلك. تستغل هذه الأداة كامل إمكانيات ASIS، ويمكن اعتبارها التطبيق الأكثر نموذجية لـ ASIS.

مراجع

  1. سوارد، ريكي إي؛ تشاميلارد، أ. ت. (2004). "إعادة هندسة المتغيرات العامة في لغة آدا" . وقائع المؤتمر الدولي السنوي لعام 2004 لجمعية ACM SIGAda حول لغة آدا: هندسة برمجيات صحيحة وموثوقة للأنظمة الموزعة والأنظمة الآنية باستخدام لغة آدا والتقنيات ذات الصلة . المجلد الرابع والعشرون  . أتلانتا، جورجيا، الولايات المتحدة الأمريكية: مطبعة ACM. الصفحات 29-34 . doi : 10.1145/1032297.1032303 . ISBN  978-1-58113-906-8. S2CID 31415676 . 
  2. ستروميير، ألفريد؛ فوفانوف، فاسيلي؛ ريبين، سيرجي؛ باربي، ستيفان (1998). "الجودة من أجل ASIS: مرفق اختبار محمول لـ ASIS" . في: أسبلوند، لارس (محرر). تقنيات البرمجيات الموثوقة - Ada-Europe . سلسلة محاضرات في علوم الحاسوب. المجلد 1411. برلين، هايدلبرغ: سبرينغر. الصفحات 163-175 . doi : 10.1007/BFb0055003 . ISBN   978-3-540-69802-9.
  3. 1 2 كولكيت، ويليام كوري (سبتمبر 1999). "تحليل شفرة البرمجيات الحساسة للسلامة والبرمجيات الآنية باستخدام ASIS" . رسائل ACM SIGAda Ada . 19 (3): 67-76 . doi : 10.1145/319295.319306 . ISSN 1094-3641 . 
  4. 1 2 3 4 5 6 وآخرون
  5. "4. نظرة عامة على ASIS — دليل مستخدم ASIS-for-GNAT 22.0w" . docs.adacore.com . تم الاطلاع عليه بتاريخ 2020-11-20 .
  6. بلادن، جيمس ب.؛ سبينهوف، ديفيد؛ بليك، ستيفن ج. (1991). "مواصفات واجهة آدا الدلالية (ASIS)" . وقائع مؤتمر TRI-Ada '91: إنجازات اليوم؛ توقعات الغد - TRI-Ada '91 . نيويورك، نيويورك، الولايات المتحدة الأمريكية: مطبعة ACM. الصفحات 6-15 . doi : 10.1145/126551.126552 . ISBN  0-89791-445-7. S2CID 19422485 . 
  7. دروري، بيس (مارس 1999). "استخدام ASIS لعزل قواعد البيانات" . رسائل ACM SIGAda Ada . المجلد 19 (1): 64-65 . doi : 10.1145/311457.311486 . ​​ISSN 1094-3641 . S2CID 37063586 .  

إضافي

  1. ISO/IEC 15291: تكنولوجيا المعلومات - لغات البرمجة - مواصفات واجهة Ada الدلالية (ASIS)
  2. دليل مرجعي للغة آدا. الإصدار 6.0، 21 ديسمبر 1994. حقوق الطبع والنشر © 1992، 1993، 1994، 1995 لشركة إنترميتريكس.
  3. مواصفات ASIS 2.0