نموذج الممثل وحسابات العمليات
في علوم الحاسوب ، يُعدّ نموذج الممثل وحسابات العمليات منهجين مترابطين بشكل وثيق لنمذجة الحوسبة الرقمية المتزامنة . انظر تاريخ نموذج الممثل وحسابات العمليات .
هناك العديد من أوجه التشابه بين النهجين، ولكن هناك أيضًا العديد من الاختلافات (بعضها فلسفي، وبعضها تقني):
- يوجد نموذج ممثل واحد فقط (على الرغم من وجود العديد من الأنظمة الرسمية للتصميم والتحليل والتحقق والنمذجة وما إلى ذلك )؛ وهناك العديد من حسابات العمليات ، التي تم تطويرها للتفكير في مجموعة متنوعة من أنواع الأنظمة المتزامنة على مستويات مختلفة من التفاصيل (بما في ذلك الحسابات التي تتضمن الوقت أو التحولات العشوائية أو الهياكل الخاصة بمجالات التطبيق مثل تحليل الأمن).
- استلهم نموذج الممثل من قوانين الفيزياء ويعتمد عليها في بديهياته الأساسية، أي القوانين الفيزيائية (انظر نظرية نموذج الممثل )؛ استلهم حساب العمليات في الأصل من الجبر ( ميلنر 1993 ) .
- في حسابات العمليات، تكون العمليات مجهولة الهوية، وتتواصل عبر إرسال الرسائل إما من خلال قنوات مُسماة (متزامنة أو غير متزامنة)، أو عبر بيئات (والتي يمكن استخدامها أيضًا لنمذجة الاتصالات الشبيهة بالقنوات ( كارديلي وغوردون، 1998 ) ). في المقابل، يمتلك الفاعلون في نموذج الفاعل هوية، ويتواصلون عبر إرسال الرسائل إلى عناوين البريد الإلكتروني لفاعلين آخرين (يمكن استخدام هذا النمط من التواصل أيضًا لنمذجة الاتصالات الشبيهة بالقنوات - انظر أدناه).
تحتوي المنشورات المتعلقة بنموذج الممثل وحسابات العمليات على عدد لا بأس به من المراجع المتبادلة والشكر والتقدير والاستشهادات المتبادلة (انظر تاريخ نموذج الممثل وحسابات العمليات ).
كيفية عمل القنوات
يُعدّ التواصل غير المباشر عبر القنوات ( على سبيل المثال ، جيل كان وديفيد ماكوين [1977]) مسألةً بالغة الأهمية في مجال التواصل في الحوسبة المتوازية والمتزامنة، إذ يؤثر على كلٍّ من الدلالات والأداء. وتختلف بعض حسابات العمليات عن نموذج الممثل في استخدامها للقنوات بدلاً من التواصل المباشر.
القنوات المتزامنة
تتميز القنوات المتزامنة بخاصية أن المرسل الذي يضع رسالة في القناة يجب أن ينتظر حتى يقوم المتلقي بإخراج الرسالة من القناة قبل أن يتمكن المرسل من المتابعة.
قنوات متزامنة بسيطة
يمكن تمثيل قناة متزامنة بواسطة ممثل يستقبل البيانات putويرسلها get. فيما يلي سلوك الممثل في قناة متزامنة بسيطة:
- تحتوي كل
putعملية اتصال على رسالة وعنوان يتم إرسال إشعار استلام إليه عند استلام الرسالة. - لكل
getعملية اتصال عنوان يتم إرسال الرسالة المستلمة إليه. - عند استلام
getرسالة، يختار الفاعلputرسالة بترتيب FIFO ، ويرسل الرسالة والإقرار إلى العناوين المحددة.
القنوات المتزامنة في حسابات العمليات
مع ذلك، لا تكفي قنوات الاتصال المتزامنة البسيطة لحسابات العمليات مثل عمليات الاتصال التسلسلي (CSP) [Hoare 1978 و1985]، وذلك بسبب استخدام أمر الاختيار المحمي (المُسمى بالأمر البديل في CSP). في أمر الاختيار المحمي، يمكن تقديم عروض متعددة (تُسمى حراسًا) بشكل متزامن عبر قنوات ورسائل متعددة put؛ getولكن لا يمكن اختيار أكثر من حارس واحد لكل تنفيذ لأمر الاختيار المحمي. ولأنه لا يمكن اختيار سوى حارس واحد، فإن أمر الاختيار المحمي يتطلب عمومًا بروتوكول التزام ثنائي المراحل ، أو ربما بروتوكول التزام ثلاثي المراحل إذا سُمح بانتهاء المهلة الزمنية في الحراس (كما في Occam 3 [1992]).
ضع في اعتبارك البرنامج التالي المكتوب بلغة CSP [Hoare 1978]:
[X :: Z!stop() || Y :: guard: boolean; guard := true; *[guard → Z!go(); Z?guard] || Z :: n: عدد صحيح؛ n:= 0؛ *[X?stop() → Y!false; print!n; [] Y?go() → n := n+1; Y!true] ]
بحسب كلينجر [1981]، يُجسّد هذا البرنامج عدم الحتمية الشاملة، إذ تنشأ هذه اللا حتمية من عدم اكتمال تحديد توقيت الإشارات بين العمليات الثلاث . Xيحتوي الأمر المحمي المتكرر في تعريف على بديلين: YZZ
stopيتم قبول الرسالة من ،Xوفي هذه الحالةYيتم إرسال القيمة خطأ إلى ،printويتم إرسال القيمة إلىngoيتم قبول رسالة من ،Yوفي هذه الحالةnيتم زيادة قيمة ويتمYإرسال القيمة true إليها .
إذا Zقبلت stopالعملية الرسالة من X، فإنها Xتُنهي عملها. يؤدي قبول الرسالة stopإلى Yإرسال قيمة خاطئة ، والتي عند إدخالها كقيمة لحارسها، ستؤدي Yإلى إنهاء عملها. عندما تُنهي كلتا العمليتين Xو ، تُنهي العملية ، لأنها لم تعد تتلقى مدخلات من عمليات نشطة.YZ
في البرنامج أعلاه، توجد قنوات متزامنة من Xإلى Z، Yإلى Z، Zوإلى Y.
تشبيه بمشكلة تنسيق اللجنة
بحسب كنابي [1992]، وصف تشاندي وميسرا [1988] هذا بأنه مشابه لمشكلة تنسيق اللجنة:
- يُعيّن أساتذة الجامعة في لجانٍ مختلفة. وقد يقرر أحد الأساتذة أحيانًا حضور اجتماعٍ لإحدى لجانه، فينتظر حتى يتسنى له ذلك. ولا تبدأ الاجتماعات إلا باكتمال الحضور. والهدف هو ضمان حضور عضوٍ واحدٍ على الأقل من أعضاء اللجنة في حال انتظارهم.
- يكمن جوهر هذه المشكلة في أن لجنتين أو أكثر قد تشتركان في أستاذ واحد. فعندما يصبح هذا الأستاذ متاحاً، لا يمكنها اختيار سوى اجتماع واحد، بينما تستمر اللجان الأخرى في الانتظار.
بروتوكول توزيع بسيط
يقدم هذا القسم بروتوكولاً موزّعاً بسيطاً للقنوات في حسابات العمليات المتزامنة. ويعاني هذا البروتوكول من بعض المشاكل التي سيتم تناولها في الأقسام التالية.
يكون سلوك أمر الاختيار المحمي كما يلي:
- يرسل الأمر رسالة إلى كل حارس من حراسه إلى
prepare. - عندما تتلقى أول رد من أحد حراسها يفيد بأنها مستعدة، فإنها ترسل رسالة إلى ذلك الحارس
prepare to commitوترسل رسائل إلى جميع الحراس الآخرينabort.- عندما يتلقى النظام رسالة من الحارس تفيد بأنه جاهز
prepared to commit، فإنه يرسلcommitرسالة إلى الحارس. أما إذا أطلق الحارس استثناءً يفيد بأنه لا يستطيعprepare to commit، فإن أمر الاختيار المحمي يبدأ العملية برمتها من جديد.
- عندما يتلقى النظام رسالة من الحارس تفيد بأنه جاهز
- إذا أجاب جميع حراسها بأنهم لا يستطيعون
prepare، فإن الأمر المحروس لا يفعل شيئًا.
يكون سلوك الحارس كما يلي:
- عند استلام رسالة
prepare، يرسل الحارسprepareرسالة إلى كل قناة من القنوات التي يعرض التواصل معها. إذا كانت لدى الحارس قيم منطقية تشير إلى عدم قدرته على التواصل،prepareأو إذا ردت أي من القنوات بعدم قدرتها على ذلكprepare، فإنه يرسلabortرسائل إلى القنوات الأخرى ثم يرد بعدم قدرتها على التواصلprepare.- عند استلام رسالة
prepare to commit، يقوم الحارس بإرسالprepare to commitرسالة إلى كل قناة من القنوات. إذا ردت أي من القنوات بأنها لا تستطيعprepare to commit، فإنه يرسلabortرسائل إلى القنوات الأخرى ثم يطرح استثناءً يفيد بعدم قدرته على ذلكprepare to commit. - عندما يتم استلام رسالة
commit، يقوم الحارس بإرسالcommitرسالة إلى كل قناة من القنوات. - عندما يتم استلام رسالة
abort، يقوم الحارس بإرسالabortرسالة إلى كل قناة من القنوات.
- عند استلام رسالة
يكون سلوك القناة كما يلي:
- عند
prepare to putاستلام رسالة، قم بالرد بأنها جاهزة إذا كانت هناكprepare to getرسالة معلقة، إلا إذاterminateتم استلام رسالة بالفعل، وفي هذه الحالة قم برمي استثناء يفيد بأنه لا يمكن ذلكprepare to put. - عند
prepare to getاستلام رسالة، قم بالرد بأنها جاهزة إذا كانت هناكprepare to putرسالة معلقة، إلا إذاterminateتم استلام رسالة بالفعل، وفي هذه الحالة قم برمي استثناء يفيد بأنه لا يمكن ذلكprepare to get.- عند
prepare to commit to putاستلام رسالة، قم بالرد بأنها جاهزة إذا كانت هناكprepare to commit to getرسالة معلقة، إلا إذاterminateتم استلام رسالة بالفعل، وفي هذه الحالة قم برمي استثناء يفيد بأنه لا يمكن ذلكprepare to commit to put. - عند
prepare to commit to getاستلام رسالة، قم بالرد بأنها جاهزة إذا كانت هناكprepare to commit to putرسالة معلقة، إلا إذاterminateتم استلام رسالة بالفعل، وفي هذه الحالة قم برمي استثناء يفيد بأنه لا يمكن ذلكprepare to commit to get.- عند
commit putاستلام رسالة، يعتمد ذلك على أي مما يلي تم استلامه:- عند
commit getاستلام أي اتصال، قم بتنفيذ الإجراءات اللازمة وتنظيف التجهيزات إن لم تكن قد تم ذلكputبالفعلget. - عند
abort getتلقي أي اتصال، قم بإلغاء الاستعدادات
- عند
- عند
commit getاستلام رسالة، يعتمد ذلك على أي مما يلي تم استلامه:- عند
commit putاستلام أي اتصال، قم بتنفيذ الإجراءات اللازمة وتنظيف التجهيزات إن لم تكن قد تم ذلكgetبالفعلput. - عند
abort putتلقي أي اتصال، قم بإلغاء الاستعدادات.
- عند
- عند
abort putتلقي أي اتصال، قم بإلغاء الاستعدادات. - عند
abort getتلقي أي اتصال، قم بإلغاء الاستعدادات.
- عند
- عند
الحرمان من الحصول على المعلومات من قنوات متعددة
لنأخذ مرة أخرى البرنامج المكتوب بلغة CSP (الذي تمت مناقشته في قسم القنوات المتزامنة في حسابات العمليات أعلاه):
[X :: Z!stop() || Y :: guard: boolean; guard := true; *[guard → Z!go(); Z?guard] || Z :: n: عدد صحيح؛ n:= 0؛ *[X?stop() → Y!false; print!n; [] Y?go() → n := n+1; Y!true] ]
كما أشير في كنابي [1992]، فإن إحدى مشاكل البروتوكول المذكور أعلاه ( بروتوكول توزيع بسيط ) هي أن العملية Zقد لا تقبل stopالرسالة من X(ظاهرة تسمى الحرمان ) وبالتالي قد لا يطبع البرنامج المذكور أعلاه أي شيء.
على النقيض من ذلك، لنفترض نظام ممثلين بسيطًا يتكون من الممثلين X و Y و Z ، ونطبع حيث
- يتم إنشاء الممثل X بالسلوك التالي:
- إذا تم استلام الرسالة
"start"، فأرسل الرسالة إلى Z"stop"
- إذا تم استلام الرسالة
- يتم إنشاء الممثل Y بالسلوك التالي:
- إذا تم استلام الرسالة
"start"، فأرسل الرسالة إلى Z"go" - إذا تم استلام الرسالة "صحيح" ، فأرسل الرسالة إلى Z
"go" - إذا تم استلام رسالة خاطئة ، فلا تفعل شيئًا.
- إذا تم استلام الرسالة
- يتم إنشاء الممثل Z بالسلوك التالي الذي يكون عدده
nفي البداية 0 :- إذا تم استلام الرسالة
"start"، فلا تفعل شيئاً. - إذا تم استلام الرسالة
"stop"، فأرسل Y الرسالة خطأ وأرسل طباعة الرسالة العددn. - إذا تم استلام الرسالة
"go"، فأرسل Y الرسالة صحيحة وقم بمعالجة الرسالة التالية المستلمة مع كون العددnهوn+1.
- إذا تم استلام الرسالة
بحسب قوانين دلالات الممثل، سيتوقف نظام الممثل المذكور أعلاه دائمًا عندما يتم إرسال رسالة إلى كل من الممثلين X و Y و Z"start" مما يؤدي إلى إرسال طباعة رقم يمكن أن يكون كبيرًا بلا حدود.
يكمن الفرق بين برنامج CSP ونظام الممثل في أن الممثل Z لا يستقبل الرسائل باستخدام أمر اختيار محمي من قنوات متعددة. بدلاً من ذلك، يعالج الرسائل حسب ترتيب وصولها، وبموجب قوانين أنظمة الممثل، stopيُضمن وصول الرسالة.
مشكلة الاختناق بسبب تلقي المعلومات من قنوات متعددة
ضع في اعتبارك البرنامج التالي المكتوب بلغة CSP [Hoare 1978]:
[Bidder1 :: b: bid; *[Bids1?b → process1!b; [] Bids2?b → process1!b;] || مقدم العرض 2 :: ب: عرض؛ *[Bids1?b → process2!b; [] Bids2?b → process2!b;] ]
كما أشار كنابي [1992]، تكمن إحدى مشكلات البروتوكول المذكور أعلاه ( بروتوكول توزيع بسيط ) في أن العملية Bidder2قد لا تقبل عرضًا من Bid1أو Bid2(ظاهرة تُعرف باسم "التعطل ")، وبالتالي process2قد لا تتلقى أي شيء. في كل محاولة لقبول رسالة، Bidder2تُحبط العملية لأن العرض المقدم من Bids1أو Bids2يُنتزع من قبل، Bidder1إذ يتضح أن Bidder1الوصول إلى العملية أسرع بكثير من الوصول Bidder2إلى Bids1و Bids2. ونتيجة لذلك، Bidder1يمكن للعملية قبول عرض، ومعالجته، ثم قبول عرض آخر قبل أن Bidder2تتمكن من الالتزام بقبول عرض.
كفاءة
كما أشار كنابي [1992]، فإن إحدى مشكلات البروتوكول المذكور أعلاه ( بروتوكول توزيع بسيط ) هي العدد الكبير من الاتصالات اللازمة لإجراء المصافحة وإرسال رسالة عبر قناة متزامنة. في الواقع، وكما هو موضح في القسم السابق ( التعطل )، قد يكون عدد الاتصالات غير محدود.
ملخص القضايا
أوضحت الأقسام الفرعية أعلاه القضايا الثلاث التالية المتعلقة باستخدام القنوات المتزامنة لحسابات العمليات:
- التجويع. يمكن أن يتسبب استخدام القنوات المتزامنة في حدوث تجويع عندما تحاول عملية ما الحصول على رسائل من قنوات متعددة في أمر اختيار محمي.
- التعطل. يمكن أن يؤدي استخدام القنوات المتزامنة إلى تعطل العملية عندما تحاول الحصول على رسائل من قنوات متعددة في أمر اختيار محمي.
- الكفاءة. قد يتطلب استخدام القنوات المتزامنة عددًا كبيرًا من الاتصالات من أجل الحصول على رسائل من قنوات متعددة في أمر اختيار محمي.
ومن الجدير بالذكر أنه في كل ما سبق، تنشأ المشكلات من استخدام أمر اختيار محمي للحصول على رسائل من قنوات متعددة.
القنوات غير المتزامنة
تتميز القنوات غير المتزامنة بخاصية أن المرسل الذي يضع رسالة في القناة لا يحتاج إلى انتظار المتلقي لإخراج الرسالة من القناة.
قنوات غير متزامنة بسيطة
يمكن تمثيل قناة غير متزامنة بواسطة ممثل يستقبل البيانات putويرسلها get. فيما يلي سلوك الممثل في قناة غير متزامنة بسيطة:
- تحتوي كل
putعملية اتصال على رسالة وعنوان يتم إرسال إشعار استلام إليه على الفور (دون انتظار وصول الرسالة عن طريقgetالاتصال). - لكل
getعملية اتصال عنوان يتم إرسال الرسالة المستلمة إليه.
القنوات غير المتزامنة في حسابات العمليات
لغة برمجة Join-calculus (التي نُشرت عام 1996) تُنفذ عمليات حسابية متزامنة محلية وموزعة. وقد تضمنت قنوات غير متزامنة، بالإضافة إلى نوع من القنوات المتزامنة المستخدمة لاستدعاء الإجراءات. يعتمد حساب Aπ Actor الخاص بآغا ( آغا وثاتي، 2004 ) على نسخة مُصنفة من حساب π-calculus غير المتزامن .
الجبر
تم استخدام التقنيات الجبرية لأول مرة في حسابات العمليات. وفي وقت لاحق، تم تطوير العديد من حسابات العمليات المختلفة التي تهدف إلى توفير الاستدلال الجبري حول أنظمة الفاعلين في ( Gaspari and Zavattaro 1997 ) ، ( Gaspari and Zavattaro 1999 ) ، ( Agha and Thati 2004 ) .
الدلالات الدلالية
نشر ويل كلينجر (بالاستناد إلى أعمال إيرين غريف [1975]، وغوردون بلوتكين [1976]، وهنري بيكر [1978]، ومايكل سميث [1978]، وفرانسيز، وهوار ، وليمان، ودي رويفر [1979]) أول نظرية دلالية رياضية مُرضية لنموذج الممثل باستخدام نظرية المجال في أطروحته عام 1981. وقد قارنت دلالاته بين عدم الحتمية غير المحدودة لنموذج الممثل وعدم الحتمية المحدودة لنموذج العمليات المتسلسلة المتصلة [هوار 1978] والعمليات المتزامنة [ميلن وميلنر 1979] (انظر الدلالات الدلالية ). وقد طوّر روسكو [2005] دلالات دلالية مع عدم حتمية غير محدودة لإصدار لاحق من نموذج العمليات المتسلسلة المتصلة [هوار 1985]. وفي الآونة الأخيرة، قام كارل هيويت [2006ب] بتطوير دلالات دلالية للممثلين بناءً على المخططات الزمنية .
ساهم كل من أوجو مونتاناري وكارولين تالكوت [1998] في محاولة التوفيق بين الفاعلين وحسابات العمليات.
مراجع
- كارل هيويت، بيتر بيشوب، وريتشارد ستايجر. نموذج الممثل المعياري العالمي للذكاء الاصطناعي، المؤتمر الدولي المشترك للذكاء الاصطناعي 1973.
- روبن ميلنر. العمليات: نموذج رياضي لوكلاء الحوسبة في ندوة المنطق 1973.
- إيرين غريف وكارل هيويت. دلالات الممثل في برنامج PLANNER-73، وقائع ندوة ACM حول مبادئ لغات البرمجة. يناير 1975.
- إيرين غريف. دلالات العمليات المتوازية المتصلة. أطروحة دكتوراه في قسم الهندسة الكهربائية وعلوم الحاسوب بمعهد ماساتشوستس للتكنولوجيا. أغسطس 1975.
- غوردون بلوتكين. بناء مجال القوة، مجلة SIAM للحوسبة، سبتمبر 1976.
- كارل هيويت وهنري بيكر، الممثلون والوظائف المستمرة، وقائع مؤتمر IFIP العملي حول الوصف الرسمي لمفاهيم البرمجة. 1-5 أغسطس 1977.
- جيل كان وديفيد ماكوين. الروتينات الفرعية وشبكات العمليات المتوازية . الاتحاد الدولي لمعالجة المعلومات. 1977
- أكي يونيزاوا، تقنيات تحديد المواصفات والتحقق للبرامج المتوازية القائمة على دلالات تمرير الرسائل، أطروحة دكتوراه في قسم الهندسة الكهربائية وعلوم الحاسوب بمعهد ماساتشوستس للتكنولوجيا، ديسمبر 1977.
- مايكل سميث. مجالات القوة . مجلة علوم الحاسوب والأنظمة. 1978.
- جورج ميلن وروبن ميلنر . العمليات المتزامنة وبنيتها النحوية . مجلة الجمعية الآلية للآلات. أبريل 1979.
- كار هوار . عمليات الاتصال التسلسلي. مؤرشف في 2021-02-01 في Wayback Machine . CACM. أغسطس 1978.
- نسيم فرانسيز، سي إيه آر هوار ، دانيال ليمان، وويليم دي رويفر. دلالات عدم الحتمية، والتزامن، والاتصال. مجلة علوم الحاسوب والأنظمة. ديسمبر 1979.
- ماثيو هينيسي وروبن ميلنر. حول ملاحظة عدم الحتمية والتزامن، سلسلة محاضرات في علوم الحاسوب 85. 1980.
- ويل كلينجر. أسس دلالات الفاعلين. أطروحة دكتوراه في الرياضيات من معهد ماساتشوستس للتكنولوجيا. يونيو 1981.
- ماثيو هينيسي. نموذج مصطلحي للعمليات المتزامنة. قسم علوم الحاسوب، جامعة إدنبرة. CSR-77-81. 1981.
- جيه إيه بيرجسترا وجيه دبليو كلوب. جبر العمليات للاتصال المتزامن. المعلومات والتحكم. 1984.
- لوكا كارديلي. نموذج تنفيذي للاتصالات المتزامنة . ندوة حول التزامن. سلسلة محاضرات في علوم الحاسوب 197. سبرينغر-فيرلاغ. 1985
- روبرت فان جلابيك. عدم الحتمية المحدودة ومبدأ الاستقراء التقريبي في جبر العمليات. ندوة حول الجوانب النظرية لعلوم الحاسوب حول STACS 1987.
- ك. ماني تشاندي وجاياديف ميسرا. تصميم البرامج المتوازية: أساس ، أديسون-ويسلي 1988.
- روبن ميلنر، يواكيم بارو، وديفيد ووكر. حساب التفاضل والتكامل للعمليات المتنقلة. قسم علوم الحاسوب، جامعة إدنبرة. التقارير ECS-LFCS-89-85 وECS-LFCS-89-86. يونيو 1989. نُقّحت في سبتمبر وأكتوبر 1990 على التوالي.
- روبن ميلنر. حساب باي متعدد الحدود: دليل تعليمي. جامعة إدنبرة. تقرير LFCS رقم ECS-LFCS-91-180. 1991.
- كوهي هوندا وماريو توكورو. حساب التفاضل والتكامل كائن للاتصالات غير المتزامنة ECOOP 91.
- خوسيه ميسيجوير. منطق إعادة الكتابة الشرطية كنموذج موحد للتزامن في أوراق مختارة من ورشة العمل الثانية حول التزامن والتركيبية. 1992.
- فريدريك كنابي. بروتوكول موزع للاتصال القائم على القنوات مع الاختيار PARLE 1992.
- جيف باريت. دليل مرجعي لأوكام 3، INMOS. 1992.
- بنيامين بيرس، ديدييه ريمي، وديفيد تيرنر. لغة برمجة عالية الرتبة ذات أنواع بيانات محددة، تعتمد على حساب باي. ورشة عمل حول نظرية الأنواع وتطبيقها على أنظمة الحاسوب. جامعة كيوتو. يوليو 1993.
- ميلنر، روبن (يناير 1993)، "عناصر التفاعل: محاضرة جائزة تورينج"، اتصالات ACM ، 36 ، CACM: 78-89 ، doi : 10.1145/151233.151240.
- ر. أماديو وس. براساد. المواقع والإخفاقات . مؤتمر أسس تكنولوجيا البرمجيات وعلوم الحاسوب النظرية. 1994.
- سيدريك فورنيه وجورج غونتييه. الآلة الكيميائية المجردة الانعكاسية وحساب الوصل POPL 1996.
- سيدريك فورنيه، وجورج جونتييه، وجان جاك ليفي، ولوك مارانجيه، وديدييه ريمي. حساب التفاضل والتكامل لوكلاء الهاتف المحمول CONCUR 1996.
- تاتسورو سيكيجوتشي وأكينوري يونيزاوا . حساب التفاضل والتكامل مع رمز التنقل FMOODS 1997.
- جاسباري، ماورو؛ زافاتارو، جيانلويجي (مايو 1997)، جبر الممثلين (تقرير فني)، جامعة بولونيا
- كارديلي، لوكا؛ جوردون، أندرو د. (1998)، "البيئات المتنقلة"، أسس علوم البرمجيات وهياكل الحوسبة ، سلسلة محاضرات في علوم الحاسوب، المجلد 1378، الصفحات 140-155 ، doi : 10.1007/BFb0053547 ، ISBN 978-3-540-64300-5
- أوجو مونتاناري وكارولين تالكوت. هل يمكن للممثلين والوكلاء من نوع باي أن يعيشوا معًا؟ ملاحظات إلكترونية في علوم الحاسوب النظرية. 1998.
- روبن ميلنر. أنظمة الاتصالات والأنظمة المتنقلة: حساب باي، مطبعة جامعة كامبريدج. 1999.
- جاسباري، ماورو؛ زافاتارو ، جيانلويجي (1999)، “جبر الممثلين”، الطرق الرسمية للأنظمة الموزعة القائمة على الكائنات المفتوحة ، الصفحات من 3 إلى 18، دوى : 10.1007 / 978-0-387-35562-7_2 ، ISBN 978-1-4757-5266-3
- دافيد سانجيورجي ودافيد ووكر. حساب باي : نظرية العمليات المتنقلة. مطبعة جامعة كامبريدج. 2001.
- ب. ثاتي، ر. ضيائي، وج. آغا. نظرية اختبار مايو للحسابات غير المتزامنة مع خاصية الموضعية وبدون مطابقة الأسماء. المنهجية الجبرية وتكنولوجيا البرمجيات. دار نشر سبرينغر. سبتمبر 2002. سلسلة محاضرات في علوم الحاسوب 2422.
- آغا، غول؛ ثاتي، براسانا (2004)، "نظرية جبرية للممثلين وتطبيقها على لغة بسيطة قائمة على الكائنات"، من التوجه الكائني إلى الأساليب الرسمية (ملف PDF) ، سلسلة محاضرات في علوم الحاسوب، المجلد 2635، الصفحات 26-57 ، doi : 10.1007/978-3-540-39993-3_4 ، ISBN 978-3-540-21366-6تمت أرشفة هذا الملف من النسخة الأصلية (PDF) بتاريخ 20 أبريل 2004 ، وتم استرجاعه بتاريخ 15 ديسمبر 2005.
- JCM Baeten, T. Basten, and MA Reniers. Algebra of Communicating Processes Cambridge University Press. 2005.
- هي جيفنغ وكار هوار. ربط نظريات التزامن. جامعة الأمم المتحدة، المعهد الدولي لتكنولوجيا البرمجيات، تقرير رقم 328، يوليو 2005.
- لوكا أسيتو وأندرو د. جوردون (محرران). حسابات العمليات الجبرية: الخمسة والعشرون عامًا الأولى وما بعدها من جبر العمليات. بيرتينورو، فورلي، إيطاليا، 1-5 أغسطس 2005.
- روسكو، أ. و. (2005)، نظرية وممارسة التزامن ، برنتيس هول ، رقم ISBN 978-0-13-674409-2
- كارل هيويت (2006ب) ما هو الالتزام؟ الالتزام المادي والتنظيمي والاجتماعي COIN@AAMAS. 2006.
- نموذج الممثل (علوم الحاسوب)
- العمليات الحسابية
