পরিবর্তন-সংরক্ষণকার হিসাবে ফ্রেম নিয়ম?


18

নীচে দেওয়া মত একটি ফ্রেম নিয়ম , ধারণাটি ক্যাপচার করে যে cপূর্বশর্ত সহ একটি প্রোগ্রাম দেয় যা pচালানোর আগে ধারণ করে এবং qপরবর্তীকালের পরে পোস্টকন্ডিশন করে, কিছুটা অসম্পূর্ণ অবস্থা রানের rআগে এবং পরে উভয়ই রাখা উচিত c। ( সংযোজকটির *প্রয়োজন হয় যে তার যুক্তিগুলি বিযুক্ত করা উচিত)) প্রায়শই, প্রাক- cপূর্ববর্তী অবস্থাগুলি একটি গাদা রাজ্যের হয়, এবং এটি একটি কার্যকর প্রোগ্রাম যা কোনও উপায়ে গাদা পরিবর্তন করে।

    {p} c {q}
----------------- (where no free variable in r is modified by c)
{p * r} c {q * r}

আমি সর্বদা দেখেছি এমন ফ্রেমের নিয়মের আলোচনাগুলি মনে হয় যে স্তূপের অংশবিশেষ অংশটি কীভাবে সংরক্ষণ করা যায় সেদিকে দৃষ্টি নিবদ্ধ করে r। এটি "স্থানীয় যুক্তি" সক্ষম করে: যখন যে প্রভাবটি পড়ে cতার বিষয়ে যুক্তি rদেখানোর সময় আমরা স্তূপের অংশটিকে উপেক্ষা করতে পারি এবং কেবল যে অংশটি পরিবর্তিত হয় কেবল তা নিয়েই আমাদের চিন্তিত করতে পারি। কিন্তু এটি তাকান অন্য উপায় যে থেকে পরিবর্তন pকরতেq সংরক্ষিত আছে, যদিও rএখন সেখানে বসে আছে। অন্য কথায়, এটি গুরুত্বপূর্ণ যে আমরা পোস্টকন্ডিশনের সাথে শেষ করে দেওয়া {q * r}উচিত, {q' * r}অন্য কোনও ব্যক্তির চেয়ে না q'

সুতরাং, আমার প্রশ্ন ফ্রেম নিয়ম যে আলোচনা বা তোলে সংরক্ষণ অফ পরিবর্তন-from- ব্যবহারের কোনো চিকিৎসা আছে কিনা তা ব্যবহারকারীকে p-to- qজিনিস।


আমার নিজের প্রশ্নের এক উত্তর এই কাগজে হয় software.imdea.org/~gotsman/papers/interproc-sas06.pdf , তারপর ফ্রেম অনুযায়ী, বাক্য (জোর খনি) -এ "পি নিশ্চিত করে, সি এর পদাঙ্ক বরাদ্দ করা হয়, তাহলে নির্বাহ অতিরিক্ত মেমরি আর এর উপস্থিতিতে সি একই আচরণের ফলাফল দেয় এবং সি অতিরিক্ত স্মৃতিতে স্পর্শ করে না। " এটি "একই আচরণের ফলাফল" যা আমি কারও জন্য চিহ্নিত করতে চেয়েছিলাম, কেবল "সি এর অতিরিক্ত স্মৃতি স্পর্শ করে না" ছাড়াও। (লিঙ্কটির জন্য @ কোওসজেস্টারকে ধন্যবাদ।)
লিন্ডসে কুপার

1
আপনি যদি ফ্রেম বিধি এবং পৃথকীকরণ লজিকের অন্যান্য নিয়মের যথাযথ প্রমাণাদি পড়ে থাকেন তবে আপনি আবিষ্কার করতে পারবেন যে তারা আপনার পরে ঠিক কী করছে, অর্থাত্, থেকে কিউতে পরিবর্তন কীভাবে সংরক্ষণ করা যায় সে সম্পর্কে তারা কথা বলে। সেখানে উল্লিখিত অঞ্চল এবং ফ্রেমের বৈশিষ্ট্যগুলিতে মনোযোগ দিন। pq
উদয় রেড্ডি

উত্তর:


11

কিন্তু এই কোনও পরিবর্তন-থেকে- qসম্পত্তি আসলে রাখে না!

বিবেচনা করুন {emp} x := alloc(0) {x |-> 0}। এখন, আমি ফ্রেম যদি y |-> 3, আমি পেতে

{y |-> 3} x := alloc(0) {x |-> 0 * y |-> 3}

তবে, ফলাফলের নিয়ম অনুসারে, আমি পোস্টকন্ডিশনে পরিবর্তন করতে পারি

{y |-> 3} x := alloc(0) {(x |-> 0 /\ x != y) * y |-> 3}

এটি আরও কংক্রিট করার জন্য, মনে করুন yএটি সংখ্যা 37। আমি যখন কোনো সম্পূর্ণ খালি গাদা মধ্যে বরাদ্দ কমান্ড চালানোর জন্য এটা সম্ভব যে আমি ঠিকানা বণ্টন শেষ হবে 37, তাই x = 37। তবে, আমি যদি পরিবর্তে ঠিকানায় একটি একক কোষযুক্ত একটি গাদা দিয়ে শুরু করি, তবে y = 37এই ফলাফলটি আর সম্ভব নয়! পূর্বশর্তে একটি ফ্রেম যুক্ত করা পোস্ট-কন্ডিশনে কিছু অদ্বিতীয়তাকে ছাঁটাই করে দিয়েছে।

"স্থানীয় ক্রিয়া এবং বিমূর্ত বিচ্ছেদ যুক্তি" কাগজটি (ক্যালাকাগনো, ও'হর্ন এবং ইয়াং) ফ্রেমের নিয়মকে গভীর, শব্দার্থিক দৃষ্টিকোণ থেকে বোঝার বিষয়ে। কাগজের মূল সংজ্ঞা হ'ল "ক্রিয়াকলাপগুলির" জন্য স্থানীয়তা , যেখানে কোনও ক্রিয়া একটি প্রোগ্রাম (এর অর্থগত উপস্থাপনা)। লোকেশন বলছে যে আপনি যখন কিছু ফ্রেমের হিপ যুক্ত করেন তবে উপরের মত কিছু অ-সংজ্ঞা ছাঁটাই করে মূল পোস্টকন্ডিশনটি পরিবর্তন করার একমাত্র উপায়। এবং, প্রকৃতপক্ষে, ছাঁটাই কেবল বরাদ্দের কারণে ঘটে।


উদাহরণ এবং রেফারেন্সের জন্য ধন্যবাদ! আপনার উদাহরণটি অর্থবোধ করে। তবে কি এটি বলা উচিত যে qএটি কেবল " q, এবং ... ... তে পরিবর্তিত হতে পারে ? এবং তদুপরি, যদি বরাদ্দ যদি একমাত্র জিনিস যা পোস্টকন্ডিশনে ননডেটেরিনিজমকে ছাঁটাই করতে পারে (যা নিজেই একটি দুর্দান্ত ফলাফল) তবে তারপরে পোস্টকন্ডিশনের কিছু অংশ যদি অবস্থান-স্বতন্ত্র থাকে তবে পোস্টকন্ডিশনের সেই অংশটিই যদি হয় একই থাকার নিশ্চয়তা? আমরা কি বলতে পারি যে পোস্টকন্ডিশনটি অবস্থানের আলফা-নামকরণের ক্ষেত্রে একই থাকে? (আমার মনে একটি উদাহরণ রয়েছে তবে ইমেলের মাধ্যমে এটি আরও ভালভাবে ব্যাখ্যা করা যেতে পারে))
লিন্ডসে কুপার

1
হ্যাঁ, qকেবলমাত্র " q, এবং এও পরিবর্তন হতে পারে ..." অন্য কথায়, পোস্টকন্ডিশনটি কেবল আরও শক্তিশালী হতে পারে : এটি মূল পোস্টকন্ডিশনকে বোঝায়। এটি কর্মের জন্য স্থানীয়তার সংজ্ঞাটির অংশ। যদিও এটি সত্য নয় যে পোস্টকন্ডিশনে পরিবর্তনটি কেবল নামকরণের সাথে আবদ্ধ। আমি যে উদাহরণ দিয়েছি তাতে অতিরিক্ত যে সত্য xএবং yস্বতন্ত্র তা নির্দিষ্ট সত্য হিসাবে নির্ধারিত নির্ধারিত ক্ষেত্রেই সত্য y। উদাহরণ বরাদ্দ সতেজতা ক্যাপচার , যা নামকরণের অধীনে আক্রমণাত্মক হয়।
অ্যারন তুরন

11

প্রথমত, আপনার প্রশ্নের বিবৃতিতে একটি ছোট্ট ভুল ধারণা রয়েছে, যা হারুনও তার উত্তরে পেয়ে যাচ্ছিল। বিচ্ছেদ যুক্তিতে ভবিষ্যদ্বাণীগুলি হিপগুলির সেট (বা সমতুল্যভাবে, স্তূপের উপর পূর্বাভাস দেয়) এবং পৃথক পৃথক সংযোগ সংজ্ঞায়িত করা হয়:PQ

PR{h1h2|h1Ph2Rdom(h1)dom(h2)=}

ফ্রেম নিয়মে

{P}c{Q}{PR}c{QR}

(এবং পি এবং কিউ ) নির্দিষ্ট গাদা সম্পর্কে কথা বলছে না --- সেগুলিহিপসেরবৈশিষ্ট্য(যেহেতু সাবসেট এবং পূর্বাভাস সমান)। কী হচ্ছে তা বোঝার সর্বোত্তম উপায় হওরে ট্রিপল হ'ল এটির অর্থ কী এর সংজ্ঞাটি দেখে:RPQ

{P}c{Q}h1P.hHeaps.t.h#h1.h2Q.h1h;ch2h;skip

এই সংজ্ঞা মূলত বলছেন যে (1) যদি আপনি চালাতে সাথে 1 মধ্যে পি , তাহলে আপনি কিছু চূড়ান্ত রাষ্ট্র শেষ করব 2 মধ্যে প্রশ্ন , এবং (2) যদি আপনার কোন অতিরিক্ত মেমরি যোগ ' , যে স্মৃতি হবে রান শেষে অপরিবর্তিত থাকুন। কিন্তু মনে রাখবেন যে নির্দিষ্ট 2 আপনি পেতে বিভিন্ন পছন্দ জন্য পারে, আবার বিভিন্ন ' --- কি নিশ্চিত হচ্ছে যে বৈশিষ্ট্য পি এবং কিউ এক্সটেনশন অধীনে রাখা, না যে আপনি ঠিক একই ফলাফল গাদা পেতে চলতে থাকবে।ch1Ph2Qh h2h PQ

এটি খুব কঠিন নয়, তবে এখনও কাজ করার মতো মূল্য রয়েছে, এটি দেখার জন্য যে হোয়ের ট্রিপলের এই সংজ্ঞাটি কীভাবে ফ্রেমের নিয়মকে ধরে রেখেছে। আপনারা যেমন লক্ষ্য করেছেন, এটি এক ধরণের "পরিবর্তন-সংরক্ষণের" সম্পত্তি এবং এটি একযোগে পৃথকীকরণ যুক্তিতে সমান্তরাল রচনার নিয়মের বিবৃতিতে একটি স্পষ্ট অভিব্যক্তি রয়েছে:

{P1}c1{Q1}{P2}c2{Q2}{P1P2}c1||c2{Q1Q2}

যদি এবং সি 2 মেমরির বিচ্ছিন্ন অঞ্চলগুলিতে কাজ করে, তবে প্রত্যেকটি সমান্তরালে চালিত হওয়ার পরে একে অপরের সম্পাদনের বৈশিষ্ট্যগুলিতে হস্তক্ষেপ করবে না।c1c2

হোয়ের এট আল, অন ​​লোকেশন এবং কনসেন্টার প্রসেসেসের জন্য এক্সচেঞ্জ ল- এর এই গবেষণাপত্রে এই বিষয়ে আলোচনা রয়েছে , যেখানে তারা দেখায় যে কীভাবে প্রোগ্রাম এবং সংস্থার একীভূত বীজগণিত দেওয়া যায়।


হোয়ারে ট্রিপলগুলির সংজ্ঞাটি দেখতে ভুল দেখাচ্ছে: এটির বলা উচিত মৃত্যুদণ্ড কার্যকর হওয়া দোষ নয়, এটি অবসান না হওয়া উচিত, এটি সম্ভবত এমন মডেলগুলিকে নিষ্ক্রিয় করা উচিত নয় যা সুরক্ষার একঘেয়েমি নেই। (তবে, হ্যাঁ, আমি সম্মত হই যে আপনি যে কারণে ব্যাখ্যা করেছেন তার জন্য "সংরক্ষণ-পরিবর্তনগুলি" সম্পর্কে কথা বলা পুরোপুরি যুক্তিসঙ্গত।)
রাদু গ্রিগোর

3
(1) আমি সম্পূর্ণ নির্ভুলতা ত্রিগুণের জন্য শব্দার্থবিজ্ঞান দিয়েছি, এবং তাই এটি দৃ as়ভাবে জানিয়েছে যে কমান্ডটি নিরাপদে সম্পূর্ণ করেছে - আমি দেখতে পেলাম যে সম্পূর্ণ নির্ভুলতা পূর্ববর্তী এবং উত্তর-শর্তগুলির পূর্ববর্তী / বিদ্যমান চরিত্রটি ব্যাখ্যা করা সহজ করে তোলে। (২) ট্রিপলের এই শব্দার্থবিজ্ঞানগুলি আসলে উদ্ভাবিত হয়েছিল (বারকডাল এবং ইয়াং দ্বারা আইআইআরসি) যে ভাষাগুলিতে শব্দার্থক শব্দগুলিতে সুরক্ষিত একঘেয়েতা নেই, সেগুলি ট্রিপলগুলির অর্থের মধ্যে গড়ে তোলার জন্য। ফলস্বরূপ, হোয়ের যুক্তির জন্য ফ্রেমের নিয়ম থাকা সত্ত্বেও, আপনি ভাষাতে নন-একঘেয়েমি কন্সট্রাক্টস (উদাহরণস্বরূপ, গাদা কত বড় সম্পর্কে প্রশ্ন) থাকতে পারেন।
নীল কৃষ্ণস্বামী

c

1
ধন্যবাদ, নীল! আপনি ঠিক বলেছেন, আমি নির্দিষ্ট গাদা দিয়ে P এবং Q বৈশিষ্ট্যগুলি বিভক্ত করছি। সুতরাং, আপনার মন্তব্য সংক্ষেপে: প্রশ্ন সংরক্ষণ করা হয়েছে, তবে আপনি যে নির্দিষ্ট গাদাটি শেষে পাবেন সেটি আপনি আগের চেয়ে আলাদা Q- সন্তোষজনক heੇਰ হতে পারে । হ্যাঁ?
লিন্ডসে কুপার

1
@ রাদুগ্রিগোর: হ্যাঁ, আমি ধরেই নিয়েছিলাম যে ভাষাটি নির্বিচারবাদী ছিল, এবং আমরা যখন সম্মতি যুক্ত করি তখন এই অনুমানটি ব্যর্থ হবে। আমার স্নাতকের!
Neel Krishnaswami

2

যদিও এটি 100% সম্পর্কিত নয়, এতে চুক্তির আদর্শের স্বাদ রয়েছে।

যদি আমরা {p c কে সি-এর পূর্ব-শর্ত হিসাবে এবং c কিউ post কে সি-র উপরের শর্ত হিসাবে বিবেচনা করি তবে একটি ফ্রেমের নিয়মের এই ধারণাটি নিশ্চিত করবে যে প্রাক-এবং উত্তর-শর্তগুলি গণনার প্রতিটি প্রেক্ষাপটে রয়েছে, তা নয় আর কিছুই নেই এমন সাধারণ ঘটনা।

এটি বলেছিল, আমি বলতে পারি না যে আমি কয়েক ডজন চুক্তিপত্র পড়েছি এমন কোনও ফ্রেমের নিয়ম উপস্থাপন করেছি। এটি অবশ্যই একটি দুর্দান্ত ধারণা, যদিও এবং এই জাতীয় পরিবর্তনের প্রয়োজন আদর্শ আদর্শের চুক্তিগুলির একটি যুক্তিসঙ্গত, স্পষ্ট বোঝার বিকাশের দিকে অনেক কিছু করতে পারে ।


মন্তব্যের জন্য ধন্যবাদ. এইচএম, আকর্ষণীয় - আমি আশ্চর্য হয়েছি যে এটি পড়া অন্য কেউ যদি চুক্তির কাগজপত্রের ফ্রেম সম্পর্কিত বৈশিষ্ট্যগুলি জানে।
লিন্ডসে কুপার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.