توحيد نظريات البرمجة

يتناول كتاب "توحيد نظريات البرمجة " ( UTP ) في علوم الحاسوب دلالات البرامج . ويوضح كيف يمكن دمج الدلالات التفسيرية والدلالات التشغيلية والدلالات الجبرية في إطار موحد للمواصفات الرسمية وتصميم وتنفيذ البرامج وأنظمة الحاسوب .

نُشر كتاب بهذا العنوان من تأليف كار هوار وهي جيفنغ [ 1 ] ضمن سلسلة برنتيس هول الدولية في علوم الحاسوب عام 1998، وهو متاح مجاناً على الإنترنت. [ 2 ]

بدأت سلسلة ندوات UTP في عام 2006. [ 3 ]

النظريات

يرتكز الأساس الدلالي لنظرية البرمجة الموحدة (UTP) على حساب التفاضل والتكامل من الدرجة الأولى ، معززًا ببنى النقطة الثابتة من منطق الدرجة الثانية. وتبعًا لنهج إريك هينر ، تُعتبر البرامج محمولات في نظرية البرمجة الموحدة، ولا يوجد تمييز بين البرامج والمواصفات على المستوى الدلالي. وكما قال هوار :

يُعرَّف برنامج الحاسوب بأنه أقوى صفة تصف كل ملاحظة ذات صلة يمكن إجراؤها على سلوك الحاسوب الذي يُنفِّذ ذلك البرنامج. [ 4 ]

في مصطلحات UTP، تُعرَّف النظرية بأنها نموذج لنمط برمجة معين. تتكون نظرية UTP من ثلاثة عناصر:

  • أبجدية ، وهي مجموعة من أسماء المتغيرات التي تدل على سمات النموذج التي يمكن ملاحظتها بواسطة كيان خارجي ؛
  • التوقيع ، وهو مجموعة بنيات لغة البرمجة المتأصلة في النموذج؛ و
  • مجموعة من شروط الصحة ، التي تحدد نطاق البرامج التي تتناسب مع النموذج. وعادةً ما يتم التعبير عن شروط الصحة هذه على شكل محولات مسندات رتيبة ومتساوية القوة .

يُعد تحسين البرنامج مفهومًا مهمًا في برنامج UTP.P1{\displaystyle P_{1}}يتم تحسينه بواسطةP2{\displaystyle P_{2}}إذا وفقط إذا كانت كل ملاحظة يمكن إجراؤها منP2{\displaystyle P_{2}}وهي أيضاً ملاحظة لـP1{\displaystyle P_{1}}يُعد تعريف التحسين شائعًا في جميع نظريات UTP:

P1P2إذا وفقط إذا[P2P1]{\displaystyle P_{1}\sqsubseteq P_{2}\quad {\text{إذا وفقط إذا}}\quad \left[P_{2}\Rightarrow P_{1}\right]}

أين[X]{\displaystyle \left[X\right]}يشير [ 5 ] إلى الإغلاق الشامل لجميع المتغيرات في الأبجدية.

العلاقات

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

  • المتغيرات غير المزخرفة (v{\displaystyle v})، نمذجة عملية رصد البرنامج عند بدء تنفيذه؛ و
  • المتغيرات المُهيأة (v{\displaystyle v'})، نمذجة ملاحظة البرنامج في مرحلة لاحقة من تنفيذه.

يمكن تعريف بعض البنى اللغوية الشائعة في نظرية العلاقات على النحو التالي:

  • يتم تصميم عبارة التخطي، التي لا تغير حالة البرنامج بأي شكل من الأشكال، على أنها هوية علائقية:

sكأناصv=v{\displaystyle \mathbf {skip} \equiv v'=v}

  • تحديد القيمةهـ{\displaystyle E}إلى متغيرأ{\displaystyle a}يتم تصميمها كإعدادأ{\displaystyle a'}لهـ{\displaystyle E}مع الاحتفاظ بجميع المتغيرات الأخرى (المشار إليها بـu{\displaystyle u}) ثابت:

أ:=هـأ=هـu=u{\displaystyle a:=E\equiv a'=E\land u'=u}

P1؛P2v0P1[v0/v]P2[v0/v]{\displaystyle P_{1};P_{2}\equiv \exists v_{0}\bullet P_{1}[v_{0}/v']\land P_{2}[v_{0}/v]}

  • إن الاختيار غير الحتمي بين البرامج هو الحد الأدنى الأقصى لها:

P1P2P1P2{\displaystyle P_{1}\sqcap P_{2}\equiv P_{1}\lor P_{2}}

P1جP2(جP1)(¬جP2){\displaystyle P_{1}\triangleleft C\triangleright P_{2}\equiv (C\land P_{1})\lor (\lnot C\land P_{2})}

μXF(X){X|F(X)X}{\displaystyle \mu X\bullet \mathbf {F} (X)\equiv \sqcap \left\{X\mid \mathbf {F} (X)\sqsubseteq X\right\}}

مراجع

  1. وودكوك، جيم (أكتوبر 2021). "هوار ونظرياته الموحدة في البرمجة". في جونز، كليف بميسرا، جاياديف (محرران). نظريات البرمجة: حياة وأعمال توني هوار . رابطة آلات الحوسبة . ص 285-316 . doi : 10.1145/3477355.3477369 . 
  2. هوار، سي إيه آر ؛ جيفنغ، هي (1 أبريل 1998). نظريات البرمجة الموحدة . برنتيس هول. ص 320. ISBN  978-0-13-458761-5أُرشف من المصدر الأصلي في 7 أكتوبر 2016. تم الاطلاع عليه في 7 أكتوبر 2016 .{{cite book}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط )
  3. دان، ستيف؛ ستودارت، بيل، محرران. (2006). توحيد نظريات البرمجة: الندوة الدولية الأولى، UTP 2006، قلعة والورث، مقاطعة دورهام، المملكة المتحدة، 5-7 فبراير 2006 (ملف PDF) . سلسلة محاضرات في علوم الحاسوب . سبرينغر . doi : 10.1007/11768173 .
  4. هوار، سي. إيه. آر. (أبريل 1984). "البرمجة: سحر أم علم؟". مجلة IEEE للبرمجيات . 1 (2): 5-16 . doi : 10.1109/MS.1984.234042 . S2CID 375578 . 
  5. ديكسترا، إدسكار دبليوشولتن، كاريل إس. (1990). حساب التفاضل والتكامل المسند ودلالات البرنامج . نصوص ودراسات في علوم الحاسوب. سبرينغر. ISBN 0-387-96957-8.

للمزيد من القراءة