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