تاريخ نموذج الممثل
في علوم الحاسوب ، يُعد نموذج الممثل ، الذي نُشر لأول مرة في عام 1973، نموذجًا رياضيًا للحوسبة المتزامنة .
ترتيب الأحداث مقابل الحالة العامة
يتمثل التحدي الأساسي في تعريف نموذج الممثل في أنه لم يوفر حالات عالمية بحيث لا يمكن تعريف خطوة حسابية على أنها الانتقال من حالة عالمية إلى الحالة العالمية التالية كما تم في جميع نماذج الحوسبة السابقة.
في عام 1963، وفي مجال الذكاء الاصطناعي ، قدّم جون مكارثي متغيرات الموقف في المنطق ضمن حساب المواقف. وفي كتاب مكارثي وهايز (1969)، عُرِّف الموقف بأنه "الحالة الكاملة للكون في لحظة زمنية محددة". وبناءً على ذلك، فإن مواقف مكارثي غير مناسبة للاستخدام في نموذج الفاعل، إذ لا يمتلك هذا النموذج حالات شاملة.
من تعريف الفاعل، يتضح أن العديد من الأحداث تقع: قرارات محلية، إنشاء فاعلين، إرسال واستقبال الرسائل، وتحديد كيفية الاستجابة للرسالة التالية المستلمة. وقد تم وضع ترتيبات جزئية لهذه الأحداث في نموذج الفاعل، ودُرست علاقتها بالفيزياء (انظر نظرية نموذج الفاعل ).
العلاقة بالفيزياء
بحسب هيويت (2006)، يستند نموذج الممثل إلى الفيزياء، على عكس نماذج الحوسبة الأخرى التي كانت قائمة على المنطق الرياضي، ونظرية المجموعات، والجبر، وما إلى ذلك. وقد أثرت الفيزياء على نموذج الممثل بطرق عديدة، لا سيما فيزياء الكم والفيزياء النسبية . ومن بين التحديات التي تواجه هذا النموذج، ما يمكن ملاحظته في أنظمة الممثل. ولا توجد إجابة واضحة لهذا السؤال، لأنه يطرح تحديات نظرية وعملية مشابهة لتلك التي ظهرت عند وضع أسس فيزياء الكم. فعلى سبيل المثال، لا يمكننا عادةً في أنظمة الممثل ملاحظة التفاصيل التي تحدد ترتيب وصول الرسائل إلى الممثل (انظر: عدم التحديد في الحوسبة المتزامنة ). إن محاولة القيام بذلك تؤثر على النتائج، بل وقد تدفع عدم التحديد إلى أماكن أخرى، مثل : عدم الاستقرار في الإلكترونيات . وبدلاً من مراقبة تفاصيل عمليات التحكيم في حسابات الممثل، ننتظر النتائج.
النماذج السابقة لنموذج الممثل
يعتمد نموذج الممثل على نماذج الحوسبة السابقة.
حساب التفاضل والتكامل لامدا
يمكن اعتبار حساب لامدا لألونزو تشيرش أقدم لغة برمجة تعتمد على تمرير الرسائل (انظر هيويت، بيشوب، وستايجر 1973؛ أبيلسون وسوسمان 1985 ). على سبيل المثال، يُنفذ تعبير لامدا أدناه بنية بيانات شجرية عند تزويده بمعاملات لشجرة فرعية يسرى وشجرة فرعية يمنى . فعندما تُعطى هذه الشجرة رسالة المعامل "getLeft" ، فإنها تُرجع الشجرة الفرعية اليسرى ، وبالمثل، عند إعطائها رسالة "getRight"، فإنها تُرجع الشجرة الفرعية اليمنى .
λ(leftSubTree,rightSubTree) λ(رسالة) إذا كانت الرسالة تساوي "getLeft"، فسيتم استدعاء leftSubTree ، وإذا كانت تساوي "getRight"، فسيتم استدعاء rightSubTree.
مع ذلك، تم التعبير عن دلالات حساب لامدا باستخدام استبدال المتغيرات ، حيث تُستبدل قيم المعاملات في جسم تعبير لامدا المُستدعى. يُعد نموذج الاستبدال غير مناسب للتزامن لأنه لا يسمح بمشاركة الموارد المتغيرة. واستلهامًا من حساب لامدا، استخدم مُفسِّر لغة البرمجة ليسب بنية بيانات تُسمى البيئة، بحيث لم تكن هناك حاجة لاستبدال قيم المعاملات في جسم تعبير لامدا المُستدعى. سمح هذا بمشاركة آثار تحديث هياكل البيانات المشتركة، ولكنه لم يُوفر التزامن.
محاكاة
كانت لغة المحاكاة Simula 67 رائدة في استخدام تمرير الرسائل في الحسابات، مدفوعةً بتطبيقات محاكاة الأحداث المنفصلة. في لغات المحاكاة السابقة، أصبحت هذه التطبيقات ضخمة وغير قابلة للتجزئة. ففي كل خطوة زمنية، كان على برنامج مركزي ضخم أن يُحدّث حالة كل كائن محاكاة، والتي تتغير تبعًا لحالة كائنات المحاكاة الأخرى التي يتفاعل معها في تلك الخطوة. طوّر كريستين نيغارد وأولي -يوهان دال فكرة (وُصفت لأول مرة في ورشة عمل IFIP عام 1967) تتمثل في وجود دوال في كل كائن تُحدّث حالته المحلية بناءً على رسائل من كائنات أخرى. إضافةً إلى ذلك، قدّما بنية فئوية للكائنات مع خاصية الوراثة . وقد حسّنت ابتكاراتهما بشكل كبير من قابلية تجزئة البرامج.
ومع ذلك، استخدمت لغة سيمولا بنية التحكم في الروتين الفرعي بدلاً من التزامن الحقيقي.
أحاديث قصيرة
تأثر آلان كاي بتمرير الرسائل في استدعاء Planner الموجه بالنمط عند تطوير Smalltalk -71. وقد أثار Smalltalk-71 اهتمام هيويت، لكنه انزعج من تعقيد الاتصال الذي تضمن استدعاءات ذات حقول عديدة، منها global و sender و receiver و reply-style و status و reply و operator selector ، إلخ.
في عام ١٩٧٢، زار كاي معهد ماساتشوستس للتكنولوجيا وناقش بعض أفكاره حول لغة سمول توك-٧٢، مستندًا إلى عمل سيمور بابيرت في لغة لوغو ونموذج "الشخص الصغير" للحوسبة المستخدم في تعليم الأطفال البرمجة. مع ذلك، كان تبادل الرسائل في سمول توك-٧٢ معقدًا للغاية. إذ كان المفسر ينظر إلى الشيفرة في اللغة على أنها مجرد سلسلة من الرموز. وكما وصفها دان إنجلز لاحقًا:
- يتم البحث عن أول رمز مميز (في البرنامج) في السياق الديناميكي لتحديد مُستقبِل الرسالة اللاحقة. يبدأ البحث عن الاسم من قاموس فئة التنشيط الحالي. في حال عدم العثور عليه، ينتقل البحث إلى مُرسِل ذلك التنشيط، وهكذا دواليك في سلسلة المُرسِلين. عند العثور على ربط للرمز المميز، تصبح قيمته هي مُستقبِل الرسالة الجديدة، ويُفعِّل المُفسِّر شيفرة فئة ذلك الكائن.
وهكذا، كان نموذج تمرير الرسائل في لغة Smalltalk-72 مرتبطًا ارتباطًا وثيقًا بنموذج آلة محدد وبنية لغة برمجة لا تدعم التزامن. أيضًا، على الرغم من أن النظام كان يعتمد على نفسه، إلا أن بنيات اللغة لم تُعرَّف رسميًا ككائنات تستجيب لرسائل Eval (انظر المناقشة أدناه). دفع هذا البعض إلى الاعتقاد بأن نموذجًا رياضيًا جديدًا للحوسبة المتزامنة قائمًا على تمرير الرسائل سيكون أبسط من Smalltalk-72.
اتبعت الإصدارات اللاحقة من لغة سمول توك إلى حد كبير نهج استخدام الأساليب الافتراضية للغة سيمولا في بنية تمرير الرسائل للبرامج. مع ذلك، حوّلت سمول توك-72 الأنواع الأولية، مثل الأعداد الصحيحة والأعداد العشرية، إلى كائنات . كان مطورو سيمولا قد فكروا في تحويل هذه الأنواع الأولية إلى كائنات، لكنهم تراجعوا عن ذلك لأسباب تتعلق بالكفاءة. في البداية، استخدمت جافا حلاً عملياً يتمثل في وجود نسخ أولية وكائنية من الأعداد الصحيحة والأعداد العشرية. اعتمدت لغة البرمجة سي شارب (والإصدارات اللاحقة من جافا، بدءًا من جافا 1.5) استخدام التغليف وفك التغليف ، وهو شكل من أشكاله استُخدم سابقًا في بعض تطبيقات لغة ليسب .
أصبح نظام سمول توك ذا تأثير بالغ، إذ أحدث ابتكارات في شاشات العرض النقطية، والحوسبة الشخصية، وواجهة متصفح الفئات، وغيرها الكثير. لمزيد من التفاصيل، يُرجى مراجعة كتاب كاي " التاريخ المبكر لسمول توك" . [ 1 ] في الوقت نفسه، ركزت جهود مشروع "أكتور" في معهد ماساتشوستس للتكنولوجيا على تطوير علم وهندسة التزامن عالي المستوى. (راجع ورقة جان بيير بريو للاطلاع على الأفكار التي طُورت لاحقًا حول كيفية دمج بعض أنواع تزامن "أكتور" في الإصدارات اللاحقة من سمول توك).
شبكات بتري
قبل تطوير نموذج الممثل، كانت شبكات بتري تُستخدم على نطاق واسع لنمذجة الحسابات غير الحتمية. ومع ذلك، كان من المسلّم به على نطاق واسع وجود قيد هام عليها: فهي تُنمذج تدفق التحكم دون تدفق البيانات. ونتيجة لذلك، لم تكن قابلة للتركيب بسهولة، مما حدّ من نمطيتها. أشار هيويت إلى صعوبة أخرى في شبكات بتري: وهي التزامن. أي أن الخطوة الذرية للحساب في شبكات بتري هي انتقال تختفي فيه الرموز في آنٍ واحد من مواضع الإدخال وتظهر في مواضع الإخراج. بدا له الأساس الفيزيائي لاستخدام عنصر بدائي بهذا النوع من التزامن موضع شك. على الرغم من هذه الصعوبات الظاهرة، لا تزال شبكات بتري نهجًا شائعًا لنمذجة التزامن، ولا تزال موضوعًا لبحوث نشطة.
الخيوط، والأقفال، والمخازن المؤقتة (القنوات)
قبل نموذج الممثل، كان التزامن يُعرَّف بمصطلحات الآلة منخفضة المستوى ، كالخيوط والأقفال والمخازن المؤقتة ( القنوات ). ومن المؤكد أن تطبيقات نموذج الممثل تستخدم عادةً هذه الإمكانيات المادية. مع ذلك، لا يوجد ما يمنع تطبيق النموذج مباشرةً في الأجهزة دون الحاجة إلى استخدام خيوط أو أقفال مادية. كما لا توجد علاقة حتمية بين عدد الممثلين والخيوط والأقفال المستخدمة في عملية حسابية. تطبيقات نموذج الممثل حرة في استخدام الخيوط والأقفال بأي طريقة تتوافق مع قوانين الممثلين.
تجريد تفاصيل التنفيذ
كان أحد التحديات المهمة في تحديد نموذج الممثل هو تجريد تفاصيل التنفيذ.
على سبيل المثال، لننظر في السؤال التالي: "هل يمتلك كل ممثل قائمة انتظار تُخزَّن فيها اتصالاته إلى حين استلامها من قِبَل الممثل لمعالجتها؟" عارض كارل هيويت تضمين قوائم الانتظار هذه كجزء لا يتجزأ من نموذج الممثل. أحد الاعتبارات هو إمكانية نمذجة قوائم الانتظار هذه نفسها كممثلين يستقبلون الرسائل لإضافتها إلى قائمة الانتظار وإخراجها منها . اعتبار آخر هو أن بعض الممثلين لن يستخدموا قوائم الانتظار هذه في تطبيقهم الفعلي. على سبيل المثال، قد يمتلك الممثل شبكة من المحكمين بدلاً من ذلك. بالطبع، هناك تجريد رياضي يتمثل في تسلسل الاتصالات التي استلمها الممثل. لكن هذا التسلسل لم يظهر إلا أثناء عمل الممثل. في الواقع، قد يكون ترتيب هذا التسلسل غير محدد (انظر: عدم التحديد في الحوسبة المتزامنة ).
مثال آخر على تجريد تفاصيل التنفيذ هو مسألة التفسير : "هل ينبغي أن يكون التفسير جزءًا لا يتجزأ من نموذج الممثل؟" تقوم فكرة التفسير على تعريف الممثل من خلال كيفية معالجة نص برنامجه لرسائل eval . (بهذه الطريقة، يُعرَّف الممثلون بطريقة مشابهة للغة Lisp التي "تُعرَّف" بواسطة إجراء تفسير دائري يُسمى eval مكتوب بلغة Lisp). جادل هيويت ضد جعل التفسير جزءًا لا يتجزأ من نموذج الممثل. أحد الاعتبارات هو أنه لمعالجة رسائل eval ، سيحتوي نص برنامج الممثل نفسه على نص برنامج (والذي بدوره سيحتوي على ...)! اعتبار آخر هو أن بعض الممثلين لن يستخدموا التفسير في تفسيرهم الفعلي. على سبيل المثال، قد يُنفَّذ الممثل في الأجهزة بدلاً من ذلك. بالطبع، لا يوجد خطأ في التفسير في حد ذاته . كما أن تنفيذ المفسرات باستخدام رسائل eval أكثر نمطية وقابلية للتوسيع من نهج المفسر المتجانس في Lisp.
النموذج التشغيلي
ومع ذلك، كان التقدم في تطوير النموذج ثابتاً. في عام 1975، نشرت إيرين غريف أول نموذج تشغيلي في أطروحتها.
مخطط
ثم أبدى جيرالد سوسمان وجاي ستيل اهتمامًا بنموذج الممثلين (Actors) ونشرا ورقة بحثية حول مترجم لغة Scheme الخاص بهما ، خلصا فيها إلى أن "نموذج الممثلين وتعبيرات لامدا متطابقان في التنفيذ". ووفقًا لهيويت، فإن حساب لامدا قادر على التعبير عن بعض أنواع التوازي، ولكنه لا يستطيع عمومًا التعبير عن التزامن المُعبَّر عنه في نموذج الممثلين. في المقابل، فإن نموذج الممثلين قادر على التعبير عن جميع أنواع التوازي في حساب لامدا.
قوانين الممثلين
بعد عامين من نشر غريف لنموذجها التشغيلي، نشر كارل هيويت وهنري بيكر كتاب "قوانين الممثلين".
إثبات استمرارية الدوال القابلة للحساب
باستخدام قوانين نموذج الممثل، أثبت هيويت وبيكر أن أي ممثل يتصرف مثل دالة يكون مستمرًا بالمعنى الذي حدده دانا سكوت (انظر الدلالات الدلالية ).
المواصفات والإثباتات
نشر آكي يونيزاوا مواصفاته وتقنيات التحقق الخاصة به للممثلين. كما نشر روس أتكينسون وكارل هيويت ورقة بحثية حول مواصفات وتقنيات إثبات التسلسلات، مما يوفر حلاً فعالاً لتغليف الموارد المشتركة للتحكم في التزامن .
التوصيف الرياضي باستخدام نظرية المجال
بعد ثماني سنوات من نشر أول كتاب عن الممثل، نشر ويل كلينجر (بالاستناد إلى أعمال إيرين غريف 1975، وغوردون بلوتكين 1976، ومايكل سميث 1978، وهنري بيكر 1978، وفرانسيز، وهوار ، وليمان، ودي رويفر 1979، وميلن وميلنور 1979 ) أول نموذج رياضي دلالي مُرضٍ يتضمن عدم الحتمية غير المحدودة باستخدام نظرية المجال في أطروحته عام 1981 (انظر نموذج كلينجر ). لاحقًا، قام هيويت [2006] بتوسيع المخططات بإضافة أوقات الوصول لبناء نموذج دلالي أبسط تقنيًا وأسهل فهمًا. انظر تاريخ الدلالات الدلالية .
انظر أيضاً
مراجع
- ↑ كاي، آلان (مارس 1993). "التاريخ المبكر للغة سمول توك" (ملف PDF) . نشرة ACM SIGPLAN . 28 (3): 69-75 . doi : 10.1145/155360.155364 . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 5 فبراير 2012.
فهرس
- هيويت، كارل؛ بيشوب، بيتر؛ ستايغر، ريتشارد (1973). "صيغة الممثل المعياري العالمي للذكاء الاصطناعي" . IJCAI'73: وقائع المؤتمر الدولي المشترك الثالث حول الذكاء الاصطناعي . الصفحات 235-245 .
- مكارثي، جون (1963). "المواقف والأفعال والقوانين السببية". مذكرة تقرير فني (2). مختبر الذكاء الاصطناعي بجامعة ستانفورد.
- مكارثي، جون؛ هايز، باتريك (1969). "بعض المشكلات الفلسفية من منظور الذكاء الاصطناعي". الذكاء الآلي (4). مطبعة جامعة إدنبرة : 463-502 . CiteSeerX 10.1.1.85.5082 .
- هايزنبرغ، فيرنر (1971). الفيزياء وما وراءها: لقاءات ومحادثات . ترجمة إيه جيه بوميرانس. نيويورك: هاربر آند رو. الصفحات 63-64 . ISBN 978-0061316227.
- هيويت، كارل؛ بيشوب، بيتر؛ غريف، إيرين؛ سميث، برايان؛ ماتسون، تود؛ ستايغر، ريتشارد (يناير 1974). "استقراء الفاعل والتقييم الفوقي". وقائع الندوة السنوية الأولى لجمعية ACM SIGACT-SIGPLAN حول مبادئ لغات البرمجة – POPL '73 . الصفحات 153-168 . CiteSeerX 10.1.1.104.295 . doi : 10.1145/512927.512942 . S2CID 33611569 .
- هيويت ، كارل (أبريل 1974). "الدلالات السلوكية لهياكل التحكم غير العودية" . ندوة البرمجة، وقائع ندوة حول البرمجة . سبرينغر. ص 385 – 407. ISBN 9783540068594.
- غريف، إيرين؛ هيويت، كارل (يناير 1975). "دلالات الفاعل في PLANNER-73". وقائع الندوة الثانية لجمعية ACM SIGACT-SIGPLAN حول مبادئ لغات البرمجة – POPL '75 . الصفحات 67-77 . doi : 10.1145/512976.512984 . S2CID 18178340 .
- هيويت، كارل (سبتمبر 1975). "كيفية استخدام ما تعرفه". وقائع المؤتمر الدولي المشترك الرابع حول الذكاء الاصطناعي . 1 : 189-198 .
- غريف، إيرين (1975). دلالات التواصل بين المهن المتوازية (دكتوراه). معهد ماساتشوستس للتكنولوجيا ، قسم الهندسة الكهربائية وعلوم الحاسوب .
- بيكر، هنري؛ هيويت، كارل (أغسطس 1977). "الجمع التدريجي للنفايات في العمليات" . وقائع ندوة 1977 حول الذكاء الاصطناعي ولغات البرمجة - الصفحات 55-59 . doi : 10.1145/800228.806932 . hdl : 1721.1/41969 . S2CID 1557419 .
- هيويت، كارل؛ بيكر، هنري (أغسطس 1977). "قوانين التواصل بين العمليات المتوازية". الاتحاد الدولي لمعالجة المعلومات . hdl : 1721.1/41962 .
- يونيزاوا، آكي (1977). تقنيات تحديد المواصفات والتحقق للبرامج المتوازية القائمة على دلالات تمرير الرسائل (دكتوراه). معهد ماساتشوستس للتكنولوجيا، قسم الهندسة الكهربائية وعلوم الحاسوب .
- بيشوب، بيتر (1977). أنظمة حاسوبية قابلة للتوسيع بشكل معياري ذات مساحة عناوين كبيرة جدًا (أطروحة دكتوراه). معهد ماساتشوستس للتكنولوجيا، قسم الهندسة الكهربائية وعلوم الحاسوب .
- هيويت، كارل (يونيو 1977). "النظر إلى هياكل التحكم كأنماط لتمرير الرسائل". مجلة الذكاء الاصطناعي . 8 (3): 323-364 . doi : 10.1016/0004-3702(77)90033-9 . hdl : 1721.1/6272 .
- بيكر، هنري (1978). أنظمة الممثلين للحوسبة في الوقت الحقيقي (دكتوراه). معهد ماساتشوستس للتكنولوجيا، قسم الهندسة الكهربائية وعلوم الحاسوب .
- هيويت، كارل؛ أتكينسون، روس (يناير 1979). "تقنيات تحديد المواصفات وإثباتها للمُسلسلات". معاملات IEEE في هندسة البرمجيات : 10-23 . doi : 10.1109/TSE.1979.234149 . hdl : 1721.1/5756 . S2CID 15272353 .
- كان، كين (1979). نظرية حسابية للرسوم المتحركة (دكتوراه). معهد ماساتشوستس للتكنولوجيا، قسم الهندسة الكهربائية وعلوم الحاسوب .
- هيويت، كارل؛ أتاردي، بيبي؛ ليبرمان، هنري (أكتوبر 1979). "التفويض في تمرير الرسائل". وقائع المؤتمر الدولي الأول حول الأنظمة الموزعة . هانتسفيل، ألاباما.
- أتكينسون، روس (1980). التحقق التلقائي من التسلسلات (دكتوراه). معهد ماساتشوستس للتكنولوجيا .
- كورنفيلد، بيل؛ هيويت، كارل (يناير 1981). "استعارة المجتمع العلمي" (ملف PDF) . معاملات IEEE في الأنظمة والإنسان وعلم التحكم الآلي . 11 : 24-33 . doi : 10.1109/TSMC.1981.4308575 . hdl : 1721.1/5693 . S2CID 1322857 .
- ليبرمان، هنري (مايو 1981). "التفكير في أشياء كثيرة في وقت واحد دون الارتباك: التوازي في الفصل الأول". مذكرة معهد ماساتشوستس للتكنولوجيا للذكاء الاصطناعي (626). hdl : 1721.1/6351 .
- ليبرمان، هنري (يونيو 1981). "معاينة للفصل الأول". مذكرة معهد ماساتشوستس للتكنولوجيا للذكاء الاصطناعي (625). hdl : 1721.1/6350 .
- باربر، جيري (1981). التفكير في التغيير في أنظمة المكاتب المعرفية (دكتوراه). معهد ماساتشوستس للتكنولوجيا، قسم الهندسة الكهربائية وعلوم الحاسوب .
- كورنفيلد، بيل (1981). التوازي في حل المشكلات (دكتوراه). معهد ماساتشوستس للتكنولوجيا، قسم الهندسة الكهربائية وعلوم الحاسوب .
- كلينجر، ويل (1981). أسس دلالات الفاعل (دكتوراه). قسم الرياضيات في معهد ماساتشوستس للتكنولوجيا .
- ثيريولت، دانيال (أبريل 1982). "مقدمة للغة Act-1". مذكرة معهد ماساتشوستس للتكنولوجيا للذكاء الاصطناعي (672). hdl : 1721.1/5675 .
- ليبرمان، هنري؛ هيويت، كارل (يونيو 1983). "جامع قمامة في الوقت الحقيقي يعتمد على دورة حياة الكائنات". اتصالات رابطة مكائن الحوسبة . 26 (6): 419. CiteSeerX 10.1.1.123.5055 . doi : 10.1145/358141.358147 . S2CID 14161480 .
- ثيريولت، دانيال (يونيو 1983). "قضايا في تصميم وتنفيذ الفصل الثاني". تقرير فني للذكاء الاصطناعي من معهد ماساتشوستس للتكنولوجيا (728). hdl : 1721.1/6940 .
- ليبرمان، هنري (أغسطس 1983). "محاكاة كائنية التوجه لمناحل النحل" (ملف PDF) . مؤتمر الجمعية الأمريكية للذكاء الاصطناعي . واشنطن العاصمة.
- هيويت، كارل؛ دي يونغ، بيتر (أغسطس 1983). "تحليل أدوار الأوصاف والإجراءات في الأنظمة المفتوحة". وقائع المؤتمر الوطني حول الذكاء الاصطناعي . hdl : 1721.1/5649 .
- جامر، م. (1985). "مشكلة إي بي آر في تطورها التاريخي". في: ب. لاهتي، ب. ميتلشتات (محرران). ندوة حول أسس الفيزياء الحديثة: 50 عامًا من تجربة أينشتاين-بودولسكي-روزن الفكرية . سنغافورة: وورلد ساينتيفيك. ص 129-149 .
- فاين، أ. (1986). اللعبة المهتزة: واقعية أينشتاين ونظرية الكم . شيكاغو: مطبعة جامعة شيكاغو. ISBN 978-0226249476.
- هيويت، كارل؛ ليبرمان، هنري (نوفمبر 1983). "قضايا التصميم في البنية المتوازية للذكاء الاصطناعي". مذكرة معهد ماساتشوستس للتكنولوجيا للذكاء الاصطناعي (750). hdl : 1721.1/5653 .
- فوكس، كريستوفر (2002). "ميكانيكا الكم كمعلومات كمية (وأكثر قليلاً)". في أ. خرينيكوف (محرر). نظرية الكم: إعادة بناء الأسس . فاكسيو: مطبعة جامعة فاكسيو.
- هيويت، كارل (27 أبريل 2006). "ما هو الالتزام؟ المادي والتنظيمي والاجتماعي" (ملف PDF) . COIN@AAMAS .
- نموذج الممثل (علوم الحاسوب)
- تاريخ الحوسبة
- تاريخ البرمجيات
