A Formal Executable Semantics of Orc using the K Framework

A Formal Executable Semantics of Orc using the K Framework. Masters thesis, King Fahd University of Petroleum and Minerals.

[img]
Preview
PDF
thesis_final_feb_goodquality_upload.pdf - Accepted Version
Available under License Creative Commons Attribution Non-commercial No Derivatives.

Download (4MB) | Preview

Arabic Abstract

أٝرخ لغة تعبير رياضية تمكّن من وصف عمليات حوسبة متوازية (كما في الحوسبة متعددة المهام)، و هي اختصار كلمة أرخصطرة (أٝوركۧسترا)، سُمّيت بذلك تنويها عن عمل قائد الأرخصطرة في تنظيم و توزيع المهام على عازفيه و التنسيق بينهم. تخفي لغة التعبير هذه تفاصيل عمليات الحوسبة المعروفة في لغات البرمجة خلف ستار أنيق لا يحتوي إلا على أدوات بسيطة هي القدرة على نداء الدوالّ و الجمع بينها بأربع منسقات أرخصطرية بسيطة و جامعة. هدفنا من هذا البحث تمكين التأكّد الآليّ من صحة البرامج المكتوبة بلغة أٝرخ، فوجب لذلك كتابة وصف رياضيّ (دلاليّ) كامل للغة أٝرخ، و لعمل ذلك اخترنا محيط عمل يسمى K يمكّن من تعريف لغات ثم تشغيل برامج بتلك اللغات، و يمكّن كذلك من تأكّدٍ من صحتها. يعرض هذا البحث بدقّة كيف استخدمنا مُختلف مميزات K لنصل إلى وصف رياضيّ بسيط و أنيق للغة أٝرخ، و كيف يُقارَن وصفُنا بما سبقه، و كيف يمكّننا هذا من تشغيل برامج بلغة أٝرخ و التأكدِ من صحّتها من خلال عدّة أمثلة مشروحة.

English Abstract

Orc is a programming model for expressing orchestrated distributed and concurrent computations. It abstracts computations through calling sites and expresses concurrency through four concise constructors. Our goal is twofold: (1) to devise a formal semantics of Orc that elegantly captures its intended semantics and (2) to formally verify the correctness of programs written in Orc. In order to achieve that, we wrote a complete formal semantics of Orc using the K framework, which in turn enables the execution and verification of Orc programs. This thesis presents in detail how the K framework's various facilities were utilized to arrive at a clean, minimal, precise and elegant semantic specification; informally compares our specification to previously developed operational semantics of Orc; and demonstrates how all of that enables the execution and verification of Orc programs through a case study and a few distinctive examples.

Item Type: Thesis (Masters)
Subjects: Computer
Department: College of Computing and Mathematics > Information and Computer Science
Committee Advisor: Alturki, Musab A.
Committee Members: Ahmed, Moataz A. and Alshayeb, Mohammad R.
Depositing User: ALZUHAIBI ZUHAIR (g200218260)
Date Deposited: 05 Apr 2016 10:27
Last Modified: 01 Nov 2019 16:32
URI: http://eprints.kfupm.edu.sa/id/eprint/139902