প্রোগ্রামিং ভাষা শব্দার্থবিদ্যা প্রোটোটাইপিং সরঞ্জাম


11

কোনও প্রোগ্রামিং ল্যাঙ্গুয়েজ সিনটিক্স এবং টাইপ সিস্টেমের প্রোটোটাইপ করার জন্য কি কোনও সরঞ্জাম রয়েছে এবং এটি ধরণের ধরণেরতার মতো স্ট্যান্ডার্ড বৈশিষ্ট্যগুলির এক ধরণের মডেল চেকিংয়েরও অনুমতি দেয় ?

আমি এই জিজ্ঞেস করছি, কারণ আমি একটি বই পড়া করছি খাদ এবং এটি সঠিক কার্যকারিতা আমি চাই যে, কিন্তু মডেলের জন্য রিলেশনাল যুক্তিবিজ্ঞান ব্যবহার জানান।

আমি ওট সম্পর্কে সচেতন , তবে এটির মধ্যে এই ধরণের "মডেল চেকিং" ক্ষমতা নেই, যেহেতু এটি প্রুফ সহকারী সিস্টেমগুলির কোড উত্পন্ন করার উপর দৃষ্টি নিবদ্ধ করে।

এই জাতীয় সরঞ্জামের অস্তিত্ব সম্পর্কে কোনও রেফারেন্স সুন্দর হবে।


1
অট হ'ল এক ধাপ, তারপরে আপনি আপনার প্রিয় প্রুফ সহকারীটির মডেল চেকিং করবেন।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

@ গিলস: ঠিক আছে, তবে একটি মডেল যাচাইয়ের সরঞ্জামের একটি বিন্দুটি হ'ল এটি প্রদত্ত আকারের উপাদানগুলির একটি সম্পূর্ণ সেট তৈরি করে যাতে সম্পত্তিটি তাদের পক্ষে সত্যই বৈধ কিনা তা পরীক্ষা করতে। এইভাবে, আমি সংজ্ঞায়িত প্রতিটি ভাষার জন্য এই প্রজন্মের অংশটি কোড করতে হবে। আপনি কি জানতেন যে এই প্রজন্মের পদক্ষেপটি স্বয়ংক্রিয় করার কোনও উপায় আছে কিনা?
রদ্রিগো রিবেইরো

প্রযুক্তিগতভাবে, আপনি প্রুফ সহকারীতে এটি করতে পারেন (কমপক্ষে কোকের মতো একটিতে) তবে এটি সম্ভবত খুব ধীর হবে। সমস্যাটিকে ভেঙে ফেলার লক্ষ্যে স্বয়ংক্রিয়ভাবে চেষ্টা করার পরিবর্তে প্রুফ অ্যাসিস্ট্যান্টরা মানব-সহায়তার প্রমাণের দিকে তাকাতে হয়। আপনি যদি ওটি পুনরায় ব্যবহার করতে চান তবে আপনি আপনার প্রিয় মডেল চেকারের জন্য একটি ব্যাকএন্ড যুক্ত করতে পারেন।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

উত্তর:


8

যদিও প্রোটোটাইপিং প্রোগ্রামিং ল্যাঙ্গুয়েজের জন্য তাদের ফ্রেমওয়ার্কগুলি তৈরি করা হয়েছে (তাদের শব্দার্থবিজ্ঞান, টাইপ সিস্টেম, মূল্যায়ন, পাশাপাশি সেগুলির বৈশিষ্ট্য যাচাই সহ) তবে সেরা পছন্দটি আপনার নির্দিষ্ট কেস এবং নির্দিষ্ট প্রয়োজনের উপর নির্ভর করে।

এটি বলার পরেও, আপনি নিতে পারেন একাধিক (সম্ভবত এত স্বতন্ত্র নয়) বিকল্প রয়েছে (যার মধ্যে আপনি ইতিমধ্যে উল্লেখ করেছেন এমনগুলি অন্তর্ভুক্ত রয়েছে):

  • নতুন ভাষা তৈরি ও প্রোটোটাইপ করার জন্য ডিজাইন করা একটি নির্দিষ্ট ভাষা / কাঠামো ব্যবহার করে: উদাহরণস্বরূপ, রেডেক্স [1], প্রোগ্রামিং ভাষার সিমেন্টিকস নির্দিষ্টকরণ এবং পরীক্ষা করার জন্য র‌্যাকেটে এম্বেড করা একটি ডোমেন-নির্দিষ্ট ভাষা, যা একটি সংজ্ঞা দেওয়া হয়েছে ভাষা, টাইপসেটিং (লেটেক্সে), হ্রাসের চিহ্নগুলি নিরীক্ষণ, ইউনিট পরীক্ষা এবং র্যান্ডম টেস্টিং (যেমন টাইপিং পরীক্ষা করার জন্য যেমন) এর মতো সহজ কাজগুলির পরিচালনা করে hand
  • সাধারণ মডেলিংয়ের ভাষাগুলি ব্যবহার করা যা নির্দিষ্ট বিশ্লেষণ সহজেই সংজ্ঞায়িত এবং সম্পাদন করে, যতক্ষণ না তারা প্রয়োজনীয় নির্দিষ্ট পরিমাণে হাতে নির্দিষ্ট ভাষা গ্রহণ করতে পারে; অ্যালোয় [২] এই জাতীয় পদ্ধতির উদাহরণ: বেশ সাধারণ এবং নমনীয় সত্ত্বেও, ভাষাগুলিকে রাষ্ট্রগুলির মধ্যে সম্পর্ক হিসাবে মডেল করা যায়, যখন শব্দার্থবিজ্ঞানের সাথে শব্দার্থ প্রকাশের পরে মডেল চেকিংয়ের (যেমন ভাষার মধ্যে মূল্যায়ন) সমর্থন বিনামূল্যে পাওয়া যায় a সম্পর্ক মডেল (উদাহরণস্বরূপ কোনও ভাষার মডেলিংয়ের শব্দার্থবিজ্ঞানের জন্য কিছু ধারণা পাওয়া যায় [3])
  • একটি উপপাদ্য প্রবাদটি ব্যবহার করে ভাষাটির বৈশিষ্ট্যগুলি পরীক্ষা করতে এম্বেড করা; কোক [৪] এর প্রুফ সিস্টেমে এম্বেড করে ভাষা এবং এর শব্দার্থবিজ্ঞানের উদাহরণ উদাহরণ হিসাবে দেখা যায় (এই পদ্ধতির আরও বিশদ পাশাপাশি কোক-এ গভীর এবং অগভীর এম্বেডিংয়ের মধ্যে পার্থক্য সম্পর্কে আলোচনা এবং প্রদর্শন] [ 5])
  • অট্ট ব্যবহার করে (যেমন ইতিমধ্যে উল্লিখিত হয়েছে, রেডেক্সের মতো আত্মার সাথে একইভাবে, তবে এম্বেড হওয়ার পরিবর্তে একটি নতুন সংজ্ঞা ভাষা সরবরাহ করছে); ওট আপনাকে একটি সুবিধাজনক স্বরলিপিতে প্রোগ্রামিং ভাষা সংজ্ঞায়িত করতে এবং প্রুফ সিস্টেমে টাইপসেটিং এবং সংজ্ঞা তৈরি করতে দেয় (সাধারণত গভীর এমবেডিং সহ), যেখানে বেশিরভাগ চেকিং (যেমন প্রমাণ) ম্যানুয়ালি সঞ্চালনের প্রয়োজন হয়
  • ভাষা এবং এর শব্দার্থবিজ্ঞানের পাশাপাশি যথাযথ চেকগুলি (যেমন পরীক্ষা হিসাবে) একটি সাধারণ উদ্দেশ্যমূলক প্রোগ্রামিং ভাষায় "স্ক্র্যাচ থেকে" এবং প্রয়োজনে অন্যান্য সিস্টেমে অনুবাদ করার প্রয়োজন হয় (কিছু ভাষা যেমন লিওন []], অন্তর্নির্মিত ভেরিফায়ারগুলি অন্তর্ভুক্ত করুন, যা কিছু বৈশিষ্ট্য স্বয়ংক্রিয়ভাবে প্রমাণ করতে দেয় এবং এই পদ্ধতিকে একটি প্রমাণ সিস্টেমে এম্বেড করার অনুরূপ করে তোলে)

নোট করুন যে কাঠামো / সরঞ্জাম (যেমন কাগজে বা লেটেক্সে সংজ্ঞা স্থাপনের মতো সহজ) এবং ভাষা সম্পর্কে বৈশিষ্ট্যগুলি পরীক্ষা করার পদ্ধতিগুলি কতটা শক্তিশালী (উদাহরণস্বরূপ এম্বেড করা) এর মধ্যে বাণিজ্য-বন্ধ রয়েছে between একটি উপপাদ্য প্রবাদে ভাষা খুব বিস্তৃত বৈশিষ্ট্যগুলি পরীক্ষা করার অনুমতি দিতে পারে)।

[১] ক্যাসি ক্লেইন, জন ক্লিমেটস, ক্রিস্টোস ডিমোলাস, কার্ল ইস্টলুন্ড, ম্যাথিয়াস ফেলেলিসেন, ম্যাথু ফ্ল্যাট, জে এ। ম্যাকার্থি, জন র্যাফকিন্ড, স্যাম টোবিন-হচস্টাডেট এবং রবার্ট ব্রুস ফাইন্ডার। আপনার গবেষণা চালান: লাইটওয়েট যান্ত্রিকীকরণ কার্যকারিতা উপর। পিওপিএল, ২০১২।

[2] ড্যানিয়েল জ্যাকসন। মিশ্রণ: একটি হালকা ওজনের অবজেক্ট মডেলিং স্বরলিপি। তোসেম, 2002

[3] গ্রেগ ডেনিস, ফেলিক্স চ্যাং, ড্যানিয়েল জ্যাকসন। স্যাট সহ কোডটির মডুলার যাচাইকরণ। আইএসএসটিএ, 2006

[৪] কোক ফর্মাল প্রুফ ম্যানেজমেন্ট সিস্টেম

[5] প্রোগ্রাম সম্পর্কে আনুষ্ঠানিক যুক্তি। অ্যাডাম চ্লিপালা, 2016

[]] ফাংশনাল স্কালাল প্রোগ্রামগুলি যাচাই, মেরামত এবং সংশ্লেষনের জন্য লিওন স্বয়ংক্রিয় ব্যবস্থা

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.