CMS-2

مثال على كود CMS-2

CMS-2 هي لغة برمجة للأنظمة المدمجة تستخدمها البحرية الأمريكية . [ 2 ] كانت محاولة مبكرة لتطوير لغة برمجة حاسوبية عالية المستوى موحدة تهدف إلى تحسين قابلية نقل التعليمات البرمجية وإعادة استخدامها. طُوّرت CMS-2 في الأساس لأنظمة البيانات التكتيكية التابعة للبحرية الأمريكية ( NTDS ). [ 1 ]

طُوِّر نظام CMS-2 من قِبَل مؤسسة راند في أوائل سبعينيات القرن العشرين، وهو اختصار لـ "نظام مراقبة المُترجم". ويُتبع اسم "CMS-2" في المراجع بحرف يُشير إلى نوع النظام المُستهدف. على سبيل المثال، يستهدف نظام CMS-2M معالجات البحرية ذات 16 بت، مثل AN/AYK-14 . [ 2 ]

تاريخ

طُوِّرت لغة CMS-2 لصالح مركز برمجة حواسيب الأسطول - المحيط الهادئ (FCPCPAC) في سان دييغو، كاليفورنيا. ونُفِّذت بواسطة شركة علوم الحاسوب (Computer Sciences Corporation) عام 1968 بمساعدة تصميمية من شركة إنترميتريكس (Intermetrics ). واستمر تطوير اللغة، لتدعم في نهاية المطاف عددًا من الحواسيب، بما في ذلك حواسيب AN/UYK-7 و AN/UYK-43 وUYK-20 وUYK-44 [ 3 ] . [ 4 ]

خصائص اللغة

صُممت لغة CMS-2 لتشجيع تجزئة البرامج، مما يسمح بتجميع أجزاء النظام بشكل مستقل. تعتمد اللغة على التعليمات البرمجية. شفرة المصدر حرة الشكل ويمكن ترتيبها لتسهيل البرمجة. تشمل أنواع البيانات الأعداد الثابتة، والأعداد العشرية، والقيم المنطقية، والبيانات النصية، وبيانات الحالة. يُسمح بالرجوع المباشر إلى سلاسل الأحرف والبتات ومعالجتها. يمكن تضمين رمز الآلة الرمزي، المعروف باسم الشفرة المباشرة. [ 1 ]

هيكل البرنامج

مثال على نظام وقت الترجمة CMS-2

يتكون برنامج CMS-2 من عبارات. تتألف العبارات من رموز مفصولة بفواصل. تشمل فئات الرموز المعاملات، والمعرّفات، والثوابت. المعاملات هي عناصر لغوية أساسية يُخصصها المُصرّف لعمليات أو تعريفات محددة في البرنامج. المعرّفات هي أسماء فريدة يُخصصها المبرمج لوحدات البيانات، وعناصر البرنامج، وعلامات العبارات. الثوابت هي قيم معروفة قد تكون عددية، أو سلاسل هوليريث، أو قيم حالة، أو قيم منطقية.

بيانات CMS-2 حرة الشكل وتنتهي بعلامة الدولار. يمكن وضع ملصق تعريفي في بداية البيان لأغراض مرجعية.

يتكون برنامج المصدر CMS-2 من نوعين أساسيين من العبارات. توفر العبارات التصريحية معلومات تحكم أساسية للمترجم وتحدد بنية البيانات المرتبطة ببرنامج معين. أما العبارات الديناميكية فتتسبب في قيام المترجم بإنشاء تعليمات الآلة القابلة للتنفيذ (رمز الكائن).

تُجمّع العبارات التصريحية التي تُعرّف بيانات البرنامج في وحدات تُسمى تصميمات البيانات. تتألف تصميمات البيانات من تعريفات دقيقة لمناطق تخزين البيانات المؤقتة والدائمة، ومناطق الإدخال، ومناطق الإخراج، ووحدات البيانات الخاصة. أما العبارات الديناميكية التي تُعالج البيانات أو تُجري العمليات الحسابية، فتُجمّع في إجراءات. تُجمّع تصميمات البيانات والإجراءات بدورها لتشكيل عناصر النظام لبرنامج CMS-2. يقوم المُصرّف بدمج عناصر النظام في نظام وقت التجميع. قد يكون نظام وقت التجميع مُستقلًا أو جزءًا من برنامج أكبر. [ 1 ]

بيانات تعريفية

تُزوّد ​​عبارات تعريف البيانات المُصرّف بمعلومات حول تعريفات عناصر البيانات. فهي تُحدّد تنسيق وبنية وترتيب عناصر البيانات في نظام وقت الترجمة. الأنواع الرئيسية الثلاثة للبيانات هي: المُبدّلات، والمتغيرات، والتجميعات. [ 1 ]

مفاتيح كهربائية

تُتيح المفاتيح نقل التحكم في البرنامج إلى موقع مُحدد في نظام وقت الترجمة. وهي تحتوي على مجموعة من المعرفات أو نقاط التبديل لتسهيل عمليات نقل البرنامج وتفرعه. يُمثل المفتاح عنوان البرنامج أو اسم عبارة أو إجراء.

المتغيرات

المتغير هو وحدة بيانات واحدة. قد يتكون من بت واحد، أو عدة بتات، أو كلمات. يمكن تحديد قيمة له في تعريف المتغير. قد تحمل المتغيرات قيمة ثابتة أو متغيرة. تشمل أنواع البيانات الأعداد الصحيحة، والأعداد ذات الفاصلة الثابتة، والأعداد ذات الفاصلة العائمة، وسلاسل هوليريث النصية، والحالات، والقيم المنطقية (Boolean).

الركام

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

البيانات الديناميكية

تحدد العبارات الديناميكية عمليات المعالجة وتؤدي إلى توليد كود قابل للتنفيذ بواسطة المترجم. تتكون العبارة الديناميكية من عامل متبوع بقائمة من المعاملات وعوامل إضافية. قد يكون المعامل اسمًا واحدًا، أو ثابتًا، أو مرجعًا لعنصر بيانات، أو تعبيرًا. [ 1 ]

عوامل تشغيل العبارات

فيما يلي ملخص لأهم مشغلي نظام إدارة المحتوى CMS-2.

المشغلوظيفة
تعيينقم بإجراء العمليات الحسابية أو حدد قيمة
تبديلتبادل محتويات وحدتي بيانات
انتقل إلىقم بتغيير مسار البرنامج أو استدعاء عبارة تبديل
لويعبّر عن مقارنة أو تعبير منطقي للتنفيذ الشرطي
يتغيرأنشئ حلقة برنامج
يجديبحث في جدول عن البيانات

العمليات الخاصة

تُسهّل المعاملات الخاصة الرجوع إلى هياكل البيانات والعمليات عليها. [ 1 ]

المشغلوظيفة
قليلالإشارة إلى سلسلة من البتات في عنصر بيانات
شخصيةيشير إلى سلسلة أحرف
كوراديشير إلى عنوان أساسي
أبيحصل على القيمة المطلقة للتعبير
كمبيوتريكمل تعبيرًا منطقيًا

تعريفات بنية البرنامج

تُجمّع العبارات الديناميكية التي تصف عمليات معالجة البرنامج في مجموعات من العبارات تسمى الإجراءات. [ 1 ]

بداية الفاصلفاصل النهايةغاية
نظامالنظام النهائييحدد نظام وقت الترجمة
SYS-DDنهاية النظاميحدد تصميم بيانات النظام في نظام مُجمَّع
SYS-PROCنهاية عملية النظاميحدد إجراء النظام في نظام وقت الترجمة
LOC-DDنهاية الموقع DDيحدد تصميم البيانات المحلية في إجراء النظام
إجراءنهاية العمليةيحدد إجراءً في إجراء النظام
إجراء تنفيذينهاية العمليةيحدد إجراء حالة المهمة في إجراء النظام (XCMS-2 فقط، ويتم استدعاؤه فقط من إجراء حالة تنفيذية)
وظيفةنهاية الوظيفةيحدد وظيفة في إجراء النظام
SYS-PROC-RENنهاية عملية النظاميحدد إجراء النظام القابل لإعادة الدخول في نظام وقت الترجمة (XCMS-2 فقط)
AUTO-DDنهاية تلقائيةيحدد هذا الخيار منطقة البيانات الديناميكية في إجراء النظام القابل لإعادة الدخول والتي يجب تخصيصها في كل مرة يتم فيها بدء إجراء النظام القابل لإعادة الدخول للتنفيذ (XCMS-2 فقط).
رأسرأس النهايةيحدد حزمة رأسية في نظام وقت الترجمة

عبارات الإدخال/الإخراج عالية المستوى

تتيح عبارات الإدخال/الإخراج التواصل مع الأجهزة المادية أثناء التشغيل في بيئة غير فورية تحت نظام مراقبة. [ 1 ]

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

نظام مراقبة المترجم 2 (CMS-2)

كان نظام مراقبة المُترجم 2 (CMS-2) نظامًا يعمل على جهاز UNIVAC CP-642B ( AN/USQ-20 ). تضمن برنامج النظام جهاز المراقبة ، والمُترجم، ومكتبة البرامج، وبرنامج تحميل CP-642، وأداة الشريط، ومخطط التدفق. [ 1 ]

جهاز مراقبة MS-2

نظام تشغيل لمعالجة الدفعات يتحكم في تنفيذ مكونات CMS-2 ومهام المستخدم التي تعمل على جهاز الكمبيوتر CP-642. يوفر النظام إمكانيات الإدخال/الإخراج، ومكتبة برمجية، وأدوات تصحيح الأخطاء. كما يوفر أيضًا نظامًا لمحاسبة المهام.

مُجمِّع CMS-2

مُترجم للغتين CS-1 وCMS-2 يُولّد شيفرة كائنية لأجهزة الكمبيوتر CP-642 وL-304 و AN/UYK-7 و1830A و 1218 /1219. خلال سبعينيات القرن الماضي، ظهرت إصدارات مختلفة من مُترجم CMS-2، تبعًا لجهاز الكمبيوتر المُستخدم في ترجمة الشيفرة. تطلّب الأمر إعادة كتابة بعض الشيفرة المصدرية لتجاوز بعض الوظائف. كما واجهت الإصدارات المختلفة من CMS-2 مشاكل في أدوات تصحيح الأخطاء.

مترجم XCMS-2

مُترجم CMS-2 مُوسّع، يُضيف ميزات لغوية لحاسوب AN/UYK-7. وهو يُولّد فقط رمز الكائن الخاص بحاسوب AN/UYK-7.

أمين مكتبة CMS-2

نظام إدارة ملفات يوفر التخزين والوصول إلى التعليمات البرمجية المصدرية والبرمجية الكائنية.

مُحمِّلات كود الكائنات CP-642

مُحمّلان لرموز الكائنات لتحميل رموز الكائنات المطلقة أو القابلة للنقل.

أداة الشريط

مجموعة من الأدوات المساعدة لإدارة البيانات على الشريط المغناطيسي.

مخطط انسيابي لنظام إدارة المحتوى CMS-2

يقوم برنامج رسم المخططات الانسيابية بمعالجة بيانات المخططات الانسيابية في شفرة المصدر CMS-2 وإخراج مخطط انسيابي إلى طابعة عالية السرعة.

انظر أيضاً

مراجع

  1. 1 2 3 4 5 6 7 8 9 10 البحرية الأمريكية (1978)، دليل تدريب أساسيات الحاسوب الرقمي، NAVEDTRA 10088-B ، البحرية الأمريكية
  2. 1 2 نيل زيرينغ (1998-10-19). "CMS-2" . زيرينغ مايكرو ويب. مؤرشف من الأصل بتاريخ 2014-11-23 . تم الاسترجاع بتاريخ 2014-07-08 .{{cite web}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط )
  3. مارك ويلسون - تجربة شخصية في العمل مع UYK-20 و UYK-44 على نظام إيجيس ORTS
  4. نشاط دعم أنظمة توجيه القتال الأسطولي (1986)، دليل مرجعي لمبرمجي CMS-2Y لأجهزة الكمبيوتر AN/UYK-7 وAN/UYK-43 ، البحرية الأمريكية