بخش دوم - فصل بیست
لایسنس برنامه هایی که در زبان های سطح بالا نوشته شده اند هنوز(زمانی که هنوز کامپایلر وجود نداشت) برای عمل های صحیحی که ثبت شده ممکن نیست.به همین دلیل باید استفاده ی اسمبلرها،لینکرها و سیستم عامل ها در گسترش و کاربردهای امنیت که به نرم افزار مربوط می شود را معرفی کرد.ازین طریق برای پیدا کردن مشکل کامپایلرهای که که لایسنس غیر امن داشتند باید صحت تحقیقات بر پایه ی کد شی گرا می بود.برای مثال تنها فرم برنامه هایی که در دسترس ماشین ها بودند تا آن ها را اجرا کنند.مواجه با این محدودیت ها ترجمه ی برعکس شامل خواندن برنامه های ماشین بدون حافظه ی کامپیوتر و تحویل آنها به تعداد مختلفی از تیم ها بدون اینکه هیچ برخورد مشترکی داشته باشند.این تیم ها به طور دستی کد را دیس اسمبل ودی کامپایل می کنندو خصیصه های اصلی را دوباره بازسازی می کنند به طوریکه سرانجام یک لایسنس امنیت برطبق یک سیستم نرم افزاری است اگر خصیصه های اصلی اش با تمام تضاد هایی که از دوبهره خصیصه سازی بدست آمده،مطابق شده،اگرچه چیزی که از دهلی وپفهال گزارش شده برای برنامه های غیر جزیی که روی ماشین های وون نیومن اجرا می شد،این روش به شدت غیر موثر زملن بر و گران بود.این به دلیل شکاف معنایی بین خصیصه ها که فرموله شده بودند بر اساس فانکشن های کاربر و نیازمندی های امنیتی و پیاده سازی کدهای ماشین معمولی توسط حافظه ،دستیابی حافظه و عملیات های سطح پایین دیگر.از طرف دیگر ترجمه برعکس احتیاجی به دانش تخصصی ندارد.لایسنس امنیتی از لحاظ قانونی مهم است و باید به آن توجه داشت.در طی قانونی کردن،قضات و هییت ژوری به تنهایی احتیاجی به تکیه بر دستگاه تخصصی نداشتند اما می توانستند نتیجه ی خود را اعلام کنند.تجربیات نشان میداد که تلاش برای اثبات (کد اسپاگتی)یک روش نامناسب بود.روش بهتر بر پایه ی خواسته ای که کامپیوتر باید برای مردم انجام شود،استفاده از الگوی برنامه نویسی که اثبات و درستی را راحت میکرد.2مثال ازین الگو در قسمت های بعد معرفی خواهند شد.استفاده ازآنها(تلاش مشمول از نظر اقتصادی درست بود)از زمانی که یک مرحله ی آسان از کد ماشین مستقیما به شکل سطح خصوصیت ها بر میگشت.مسیول ساده سازی و شفاف سازی به عنوان راهنمای ابتدایی زمانی که انتخاب یک اثبات متد برای پیاده سازی یک نرم افزار،امنیت سیتم های مربوط را ساپورت می کرد.این به این خاطر بود که ساده سازی یک پروسه ی نرم افزار به طور مستقیم به صحت کامپیوتر که بر پایه ی کنترل سیستم ها که مهندسی شده اند،مربوط می شود.این مدرکی بود که ترجمه ی برعکس،نیازمندی های سادگی را پر میکرد.نشان میداد که بسیار مفید شده زمانی که با الگوهای برنامه نویسی و معماری تضمین شده،ترکیب شد.بیشترین پروسه خلاق در یک پروژه ی نرم افزاری،تحلیل نیازمندی ها و خصیصه ها است.خصیصه ی غیر مهم و کامل ساخته شد،ان رفتار سیستم را به طئر خبر توصیف میکرد تا توسعه پیدا کند.معنای این چنین توصیف هایی نباید در طراحی و پیاده سازی تغییر پیدا کند.این مشاهدات به جنبه ی اجرای مستقیم نیازمندی های خصیصه بر میگردد(یا پیاده سازی که میتواند بوسیله ی انجام تبدیلاتی روی نیازهای خصیصه ها بدست آید)که به آسانی میتواند درست ثلبت شود.این روش در تست های بعدی آورده می شوند.سودهای آ ن آشکار و واضح است.پله های طراحی،پیاده سازی واثبات درست هنوز ناپدید نشده اند.در عوض،پروسه ی توسعه شامل تحلیل نیازمندی ها ،خصیصه ها و دسترس پذیری می شود.سیستم مستند سازی اولیه متوجه ویژگی نیازمندی ها شد.نگه داری بیشتر ازین روی کدها اجرا نشد.این ویژگی بود که انتفال و دوباره پیاده سازی را تغییر شکل داد،فقط در طی فاز اصلی.
جداول علت و معلول جداول علت و معلول یک الگوی برنامه نویسی پدید آورد در حضور نیازمندی ها ی امن.این جنبه در مهندسی راه اندازی شد تا سیستم های حفاظتی ساخته شود(مثال:سیستم های خاموشی فوری،که مسیول در برابر واکنشی که در مقابل موقعیت های خطرناک مستفل کاربردی اتفاق می افتد)بنابراین برای بقای سیستم و محیط آن از خرابی جدی.
سازی نرم افزار بر طبق جدول های علت و معلول بوسیله ی سادگی و شفافیت طراحی شد،مانند پوشش که اثبات با نگاه دقیق اساس وتوافق وسیع اجتماع برای هم دسترس پذیری و هم پیاده سازی درست قادر بود.طبق تحقیقاتی که در شکل 1به عنوان مثال آورده شده است،نرم افزار برای سیستم های حفاظتی،به صورت جدول های تصمیم گیری معرفی شد،که جدول های علت ومعلول نامیده شد.ردیف های آنها با اتفاقات پر شده که توسط بولین پیش شرطی اتفاق افتاده است.با استفاده از مارک کردن فیلدها،که به ستون های اصلی تعلق دارند و به عمل های مخصوص مرتبطند،کاربر می تواند پیش شرط ها و خصیصه هایی که بر طبق عمل هایی که انجام شده انتخاب کند که همه ی پیش شرط ها درست باشند.
محتوای جدول های علت و معلول تنها نرم افزار کاربردی پیاده سازی شده در سیستم های حفاظتی می باشد.در اینجا نرم افزار معنای برنامه ی که واکشی شود با استفاده از حافظه ی قابل نوشتن به عنوان معماری کامپیوتر وون نیومن نیست. به جای آن ،به عنوان پارامترسازی بوسیله ی کنترلر چند منظوره که برای عمل فانکشن های خاص تنظیم شده است.زمانی که جدول های علت و معلول باید در حافظه های فقط خواندنی نگه داشته می شدند به دلیل نیازهای امنیتی،این نوع نرم افزار درفرمی از سفت افزار ایجاد شد.برای دلیل هایی که در بالا مطرح شد،ما به جدول های علت ومعلول که ایده آل برای پیاده سازی سیستم های کنترلی که بر اساس کامپیوتر با نیازهای امنیتی بالا توجه داریم.ویژگی ها به صورت قابل فهم فرموله شدند اما اگرچه با روش رسمی ،بر اساس اسم به عنوان جدول های تصمیم. ازین رو ساده برای ثبت ویژگی ها بوسیله توافق اجتماعی.عمل های خاص که به طور مستقیم تفسیر و اجرا می شوند بوسیله ی ماشین،بدون احتیاج به تبدیلات پیچیده و بنابراین،پیاده سازی درست. دیاگرام های بلوک تابعی دومین الگوی برنامه نویسی که به نرم افزار ها اجازه می دهد تا به راحتی قابل فهم باشند و بدون منبع و آبجکت کدی در فرم اف بی دی در دسترس است.این در استاندارد بین المللی آی ای سی تعریف شده است به عنوان یکی از دو زبان گرافیکی برای کدینگ کنترلرهای منطقی قابل برنامه سازی.منطبق بر سنت بلند مدت در مهندسی کنترل،این نوع از برنامه ی گرافیکی قبلا در تکنولوژی اتوماسیون برپا شد.اف بی دی مشتق شده از نقشه ی سرکیت های دیجیتالی، که در هر چیپ یک ماژول تابعی را معرفی میکند.پروسیجربرنامه نویسی از این طریق بسیار شبیه به سیستم های کنترل جمع بندی سنتی از المنت های سخت افزار وابزارها(مثل:رگولاتورهای آنالوگ سیم،تقویت کننده عملیاتی،رله های الکترومگنتیک،المنت های تی تی ال)یا هر تکست دیگر روی تجهیزات کنترل کلاسیکی.دراینجا اگرچه،اف بی هانرم افزار هم رده با المنت ها و ابزارهای منترل راحت هستند.المنت های پایه زبان در اف بی دی ها نمونه ای از توابع و اف بی است،برای هدف ترکیب برنامه،مرتبط هستند با خط های ارتباطی بین ورودی و خروجی آن ها.توابع و اف بی ها معرفی می کند اساس کاربرد سطح بالا و المنت های زبان قابل استفاده.آنها متمایز میکنند از یکدیگر فانکشن هاکه تفسیر می شود در سنس ریاضیاتی،از این رو آنها شامل وضعیت های داخلی نمی شوند،درصورتی که اف بی ها نمونه های قابل متمایز ممکن است وجود داشته باشند.گراف های مبتنی بر تابع،از وش پیاذه سازی برنامه نتیجه می شوند،تاثیر مستقیم کاربرد مستقل از جریان داده های مشخص را فراهم میکند.شکل2،نمونه ای از سگمنت برنامه که تشکیل شده بر طبق پروسیجرهای خروجی بالایی است.برنامه ها نمایش می دهند در اف بی دی که یک ساختار ماژولار دارند و قادر به تسهیل پیاده سازی نرم افزار و تایید درستی آن بوسیله ی نتیجه ی مقدار مستند(مثل:ظرفیت آن ها که مشکل اساسی ساختار را منعکس می کند) اف بی ها ضرورتا زیر روال هستند ودر طی اجرا یک یا بیشترمقدارها را ثمر می دهند.اسم گذاری چندگانه برای نمونه های اف بی می تواند خلق شود.تمام مقادیرمتغیرهای خروجی ومتغیرهای داخلی حمل می شود از یک اجرای نمونه اف بی به نمونه بعدی. بنابراین درخواست اف بی با همان مبحث لزوما همان مقادیر خروجی را تولید نمیکند. این ضروری است که قادر باشیم بازخورد داخلی و رفتار ذخیره سازی را بیان کنیم. تنها متغیرهای ورودی و خروجی در بیرون از نمونه ی اف بی در دسترس هستند.(مثال: متغیرهای داخلی اف بی ها از بیرون قابل دید نیستند،بلکه از دید بیرون پنهان شده اند.) برای نقشه ی اپلیکیشن های اتوماسیون،کاربر فقط درخواست می دهد،جای می دهد و نمونه های اف بی را از لایبرری های گرفته شده،متصل می کند به هم که نتیجه در دیاگرام ها خلاصه می شود که شبیه به دیاگرام های جریان داده که برای جدول سازی تابعی یا فعالیتی فرستاده می شود،هستند.جعبه ها که در دیاگرام اف بی نشان داده شده در شکل2 نشان می دهد فعالیت های برنامه را، درحالی که یک طرفه ی خط ها از (چپ به راست) جریان نمونه ای از اطلاعات است که ضروری برای اف بی ها تا این فعالیت را انجام دهند. اف بی های فردی درخواست می دهند برطبق سفارش جزئی که توسط سیم داده شده و به همین دلیل،آن ها اطلاعات را از خط های متصل عبور می دهند.خطوط ممکن است شاخه شاخه شوند برای نمایش پهنای خروجی،جایی که چندین کپی از اطلاعات تحویل داده شود به طور تصادفی به اف بی های دیگر به عنوان مصرف کننده آن اطلاعات. اما خطوط ممکن نیست پیوسته شوند به یکدیگر برای ورودی یا ادغام داده ی ورودی. علاوه بر قوانین ثابت ها به عنوان پارامتر (مثال : متصل شده به ورودی بیرونی (زونیت) در اف بی (بی 1) در شکل 7 نمونه های اف بی ها در جریان داده ها بین آن ها، تنها نمونه زبان به کاربرده شده درنمونه برنامه نویسی است.پیاده سازی نرم افزار درفرم گرافیکی که ابزارهای (کد) استفاده میکنند،انجام میشود. زمانی یک دیاگرام رضایت بخشی است که تبدیلات کامپایلر به طورگرافیکی منطق برنامه را به صورت کد شیئی نمایش دهد.چون این منطق تنهاقادر برفرض کردن ساختار ساده است،برنامه های به روزشده شامل هیچ خصیصه ای ازترتیب(کال) کردن پروسیجر وحرکت داده ی داخلی،نیست. یک مشخصه ی ضروری الگوی برنامه نویسی،پایه های (اف بی دی) که قابلیت تسهیل مدیریت سیستم های بزرگ،نشان داده شده در شکل 3،که هف بی ها در واحدهای جدیدی متصل شده اند. شکل اخیر اف بی ها در واحدی های جدیدی متصل شده اند.شکل اخیر اف بی ها در انتزاع بالاتر وممکن است دردیاگرام های دیگر با انتزاع بیشتر وجزئیات پیچیده ی بیشتر که مبتنی بر کاربرد درسطح بالاتر است،اتفاق بیفتد.بدین صورت قوانین سخت،ترکیبات سلسله مراتبی دیاگرام ها را کنترل می کند.در نتیجه ی پیچیدگی درون ارتباطی دیگرام های تنها را همیشه می توان پایین نگه داشت.علاوه بر این،مسیول مهندسی نرم افزار مبتنی بر استفاده مجدد،شمار امکانات برای حل مشکل داده شده از راه های مختلف را کاهش می دهد.لایبرری یک اف بی شامل اجزای استاندارد می شود:
الف/به طور کل کاربردی برای اهداف اتوماسیون
ب/معمولا توسط فروشنده های سیستم فراهم می شود ج/المنت های مخصوص پروژه که توسط کاربر تعریف شده است مهانطور که میبینیم در نتیجه،قابلیت استفاده مجدد لایبرری ها،مسیله لیسانسه کردن نرم افزار را سخت میکند.لایبرری ها پیشنهاد شدند توسط تولید کنندگان مرتبط "کاملا محلی" که تمام مشکلات فردی که در محیط کاربردی اتفاق افتاد،می تواند بوسیله ی آنها حل شود.{این وضعیت کاربردی باشد}این وضعیت یک موضوع تجربه ای است که گسترش پیدا کرده در طی سالها از کاربردهای بزرگ.ضرورتا برای هر محیط کاربردی یک سری اف بی های خاص وجود دارد،اگرچه ماژولها شبیه به آنالوگ و ورودی و خروجی دیجیتال است که ارتباط بیشتری دارند.بعضی از بلا ک ها ممکن است با منابع ماشین گره خورده باشند مانند سنسورها،محرک ها،کانال های ارتباط های یا واسط های بین ماشین و انسانها،نماش داده می شوند توسط بلاک های ورودی/خروجی در دیاگرام های اف بی معمولا شمار نسبتا کوچک تری از المنت های لایبرری کافی است برای فرموله کردن تمام برنامه های درون محیطی در پروسه ی اتوماسیون.برای مثال همانطور که راهنمای (وی دی آی) نشان میدهد،برای مهندسی شیمی شماره 67است.ادامه ی لیست اف بی ها در راهنما تعریف شده که اثر تابعیت نوعی را می دهد: 1.توابع ریاضی واحد:مقدار صحیح،کوسینوس،سینوس،تابع نمایی،اگوریتم مبنای 10،ریشه جذر،لیمیتر،تابع غیر خطی ثابت،مقیاس خطی 2.توابع ریاضی چندتایی:جمع،تفریق،ضرب،تقسیم،عاد کردن،توان 3.مقایسه گرها:تساوی،بزرگتر مساوی،بزرگتر مساوی،کمتر مساوی،کمتر،غیرمساوی 4.تابع بولین واحد:خنثی سازی 5.توابع بولین چندتایی: ربط دهنده ،انفصال،آنتی والانس 6.دیتکتور لبه:مشخص کردن لبه ی بالا رونده وپایین رونده 7.توابع انتخابی:انتخاب حداکثر و حداقل،انتخاب بدون ان بیت،دی مالتی پلکسر برای بولین ها و اعداد،مالتی پلکسر برای بولین ها و اعداد،انتخاب باینری برای بولین اعداد 8.شمارنده ها،مونو استیبل ها،بی ایستیبل ها،تایمرها:شمارنده بالا رونده و پایین رونده،فلو کانتر،المنتهای بی استیبل با ست و ری ست،ماجولاتور در طی پالس،تاخیر های روشن و خاموش 9.پردازش ورودی و خروجی:ورودی/خروجی آنالوگ،ورودی/خروجی باینری،ورودی/خروجی دیجیتال،ورودی ایمپالس 10.ورودی خروجی ارتباطات شبکه:ورودی/خروجی ارتباط برای مقادیر بولین و عددی 11.رگولاتور و المنت های داینامیک:کنترلرهای استاندارد و جهانی،معدل زمان اجرا،مهلت زمانی،تفاوت با لاگ،اینگریتور،لود لاگ،سفارش دوم 12.شرایط برای نمایش و عمل:محدودیت با زنگ خطر یا ذخیره پیغام،ثبت ترند،مقدار ورودی دستی با سوییچ و محدودیت پیچیدگی المنت های لایبرری معمولا قابل مدیریت است چون نرم افزار در محیط کاربردی خاص،محدود شده به متغییر هاست.نوشته شده در زبان سطح بالای پاسکال،ماژول نرم افزار کاملا کوتاه هستند:سورس کد آنها از یک صفحه بیشتر نخواهد شد(یک خط) بنابراین،صحت آنها می تواند با یک تلاش قابل تحمل نشان داده شود(مثال:استفاده از محاسبات،اما همچنین اجرای سمبلیک یا در بعضی مواقع مانند توابع بولین حتی تست کامل)در مثال دیگر برنامه نویسی اورژانسی سیستم های شات دان که دیاگرام های توابع منطقی را که گرافیکی نمایش داده شده،که نگاشت ورودی بولین به خروجی بولین به عنوان توابع زمان مثل اکر فشار زیاد است سپس یک دریچه باید باز باشد و یک شاخص باید روشن شود بعد از 5 ثانیه ،را توصیف می کند.این به 4 تا بلوک تابع احتیاج دارد،وی آی زد،3 اپراتور بولین و یک تایمر.بای درک عمیق مفهوم بلوک تابع ما به زولر مراجعه میکنیم.استفاده از برنامه نویسی اف بی دی برای نرم افزار،با اهمیت به صحت نرم افزار بیان میکند در زبان برنامه نویسی اف بی دی این لازم است،که 2 مرحله پروسیجر پیاده سازی را داشته باشیم: 1.ساختن یک لایبرری ازبلوک های تابع-تنها برای محیط کاربردی و 2.کاربرد خاص بین ارتباطی در نمونه های بلوک تابع همچنین در فاز صحت منتشر میشود.بر این اساس در 2 مرحله ی بالا: 1.صحت رسمی همه ی المنت هادر لایبرری اف بی داده شده برای متدهای رسمی مناسب است قبل از اینکه آزاد شود. 2.برای هر برنامه کاربردی،ثبت درستی بوسیله ی ترجمه برعکس یک پیاده سازی کامل اگوی بین ارتباطی-برای نمونه های اف بی(مثال :جریان داده کامل) به کارگیری ترجمه ی معکوس برای صحت نرم افزار توسط معماری مسیله گرا که در قسمت بعدی معرفی می شود،تسهیل شده است. معماری امن گرا به عنوان یک معماری برای سیستم کنترلی کامپیوتر امن گرا،ما مینی کامپیوتر استاندارد با یک مفسر سفت افزار که یک ست از بلاک های تابع پایه را پیاده سازی می کند،انتخاب می کنیم. برای هدف اجرای نرم افزار که معرفی شد در فرم دیاگرام های اف بی که مفسر احتیاج به اجرای فقط 2 دستورالعمل در سطح برنامه نویسی کاربر داشت:
GET<operand-address> PUT<operand-address> یک اف بی یک سگمنت برنامه کد را که شامل شماره پارامتر که واکشی میشود از محل رم یا رام با دستورالعمل های جی ای تی و عدد نتیجه ی عملیات ذخیره سازی با کمک دستورالعمل های پی یو تی انجام می شود.ابتدا،مفسر شماره شناسایی اف بی را که درخواست کرده را واکشی می کند،از این طریق عدد مناسب پارامترهای ورودی و اگر احتیاج باشد،متغیرهای وضعیت داخلی بلاک مشتق می شوند که سپس واکشی شوند.سپس پیاده سازی برنامه ابجکت برای اف بی اجرا می شود.مفسر تمام دستکاری لازم دیتا و ارتباطات با محیط را انجام میدهد.پیچیدگی بلاک اف بی تمام میشود با ذخیره سازی در نتیجه ها و وضعیت جدید داخلی در رام،در نتیجه برای جلوگیری از هرگونه تغییرات بوسیله ی توابعی که درست عمل نمیکنند،در این معماری همه ی برنامه ها باید در حافظه های فقط خواندنی فراهم آورده شوند.برای دلیل های کاربردی،در کل 2 نوع از این حافظه ها وجود دارد.اگرچه برنامه رام ابدا وجود ندارد.به جای آن،کد بلاک های اف بی پایه در پوشش رام های سفت افزار پروگرام شده مستقر شده اند که تحت نظارت اختیارات لایسنسی تولید وآزاد شده است.از طرف دیگر ترتیب اجرای بلوک ها همراه با پارامتر پسینگ که کاربر را معرفی می کند.این قسمت از نرم افزار موضوعی است برای صحت دوباره که بوسیله اختیارات لایسنسی انجام می شود که سرانجام هنوز احتیاج به نصب و مهروموم پی رام ها در کنترل پروسه ی کامپیوترها دارد.این برنامه تنظیمات حافظه انتخاب شده تا به طرز فیزیکی 2 قسمت نرم افزار را از یکدیگر جدا می کند: یکی با محوطه ی عمومی که فقط احتیاج به صحت یک باره دارد و دیگری خصیصه ی کاربردی است.معماری بالا می تواند در سخت افزار نیز پیاده سازی شود.این روش دنبال شده بوسیله ی کنتلر منطقی قابل برنامه ریزی برای کاربرد های امنیتی بحرانی.
گواهی امنیت نرم افزار همه ی المنت های یک ست اف بی مشمول در یک لایبرری توسط روش های رسمی تایید می شود.این لایسنس امنیتی پرهزینه باید یک بار انجام شود،بعد از ست اف بی که معرفی شده و استاندارد شده برای محیط کاربردی داده شده است.هزینه لایسنس کردن می تواند،از این طریق،گسترش پیدا کند بر روی بسیاری از پیاده سازی هایی که مربوط به هر پروژه اتوماسیون مستقل کم هزینه.در واقع اف بی هایی هم که در تمرین اتفتق می افتند،پیچیدگی کم تری دارند و به همین دلیل،صحت درستی اشان در واقع قراردادی است.به عنوان جزییات پیاده سازی برای اف بی ها یک قسمتی از سخت افزار به کار رفته.آنها پنهان می مانند از برنامه های کاربردی و بیشتر از این احتیاج به لایسنس امنیت ندارد.از این رو برای هر برنامه کاربردی جدید،فقط پیاده سازی مناسب یک الگوی بین ارتباطی نمونه های درخواستی اف بی احتیاج دارد تا صحیح شود.برای این هدف کد شی که پردازش شده بوسیله مفسر که موضوع شده به ترجمه ی معکوس،خوشبختانه حذف نیاز یک-که هنوز غیر ممکن و بنابراین در حال حاضر غیر قابل دسترس است-کامپایلر لایسنس شده امنیتی که نرم افزار گرافیکی که به کد شی به عنوان یک پیش شرط لازم برای به کارگیری نمونه دیاگرام اف بی است،تبدیل می کند.اگرچه ممکن است که توجه شود به عنوان روش بروت فورس غیر زیبا،ترجمه ی معکوس مخصوصا مناسب برای صحت یک پیاده سازی درست برنامه های مشخص گرافیکی روی معماری معرفی شده ی بالا.
این به دلیل دلایل زیر است: این روش غیر رسمی است،به راحتی قابل درک و کاربردی بدون هیچ آموزشی،از این طریق،مناسب برای استفاده در سطح برنامه نویسی کاربردی بوسیله افرادی با بیشترین پیش زمینه آموزشی ناهماهنگ.سهولت فهم و استفاده ذاتی خطای فاستر. بوسیله برنامه نویسی در فرم دیاگرام های اف بی،ویژگی ها مستقیما به کد شی که شامل پروسیجر کال ها نگاشت شده و پارامتر پسینگ فقط در حالی یک ماشین دستورالعمل،هدفش را نشان نمی دهد،اتفاق یک نمونه اف بی معمولا یک نشانه درباره مشکل می دهد،راه حل آن و نقش بلاک ها در آن،از زمانی که برنامه نویسی گرافیکی پایه شده بر اساس اف بی های کاربرگرا که کیفیت سطح مشکل ویژگی را داشت و به دلیل این که بوسیله طراحی،هیچ شکاف معنایی در معماری وجود ندارد بین سطح واسط(فراهم شده توسط مفسر)ماشین و انسانترجمه ی معکوس مربوط می شود به یک مرحله آسان از کد ماشین به دوباره خصیصه سازی در فرم گرافیکی.در نتیجه تعادل با ویژگی اصلی می تواند به راحتی چک شود. رفتار موقتی بسیاری از برنامه های اتوماسیون شامل امنیت مربوط به فرم کنترل های ترتیبی شامل مراحل و انتقالات بین ارتباطی بوسیله لینک های مستقیم.برای مثال،ما توجه داریم به سادگی اما همانطور کاملا وظیفه اتوماسیون معمولی.اگر یک دکمه استارت فشار داده شود و دما کمتر از 40 درجه سانتیگراد باشد-در فاز یا مرحله 1-دریچه پر شده ی یک کانتینر باز خواهد شد تا وضعیت فیلینگ به 90 درصد دسترسی پیدا کند.بعد ازآن-در دومین مرحله-کانتینر گرم شده با بخار توسط دریچه گرمایی باز شده تا محتوای دمای کانتینر به 90درجه سانتیگراد برسد-در سومین مرحله-دریچه خالی شدهی کانتینر باز شده تا وضعیت فیلینگ ریخته شود بیشتر از 5درصد.سپس کنترل بر می گردد به وضعیت آغازین-مرحله اول.شکل 4نشان می دهد مرحله برنامه کنترل در فرم چارت تابع ترتیبی،یک زبان برنامه نویسی گرافیکی منحصر به فرد که تعریف شده در استاندارد بین المللی آی ای سی.طبق شروع برنامه ساختار یافته با چارت تابع ترتیبی،مرحله اولین فعال می شود.زمانی که یک مرحله فعال می شود،قسمت برنامه مربوطه بیان می شود در فرم دیاگرام اف بی که اجرا شده.به عنوان آخرین قسمت این،شرایط تحول مربوط می شود با انتقال بین یک مرحله و ساکسسور در چارت تابع ترتیبی که ارزیابی می شود.اگر شرایط تحول انجام نشود،مرحله فعال باقی می ماند و دیاگرام اف بی دوباره اجرا می شود.زمانی که شرایط تحول انجام بشه بعد از یک ازین تکرارها،مرحله غیرفعال می شود و یکی دیگر فورا،تحول را در طی لینک مستقیم غعال می کند.خیلی از خصیصه های سیستم های محاسباتی مدرن مثل پایپ لینگ،کش،دایرکت مموری اکسس،و رندر مالتی تسکینگ آسنکرون،و از این رو لایسنس امنیت،که متاسفانه سخت است برای پیش بینی رفتار موقتی برای سیستم های اتوماسیون کامپیوتری شده.تنها را قابل قبول دور از این موقعیت برای امنیت سیستم های مرتبط هست: همه ی خصیصه های مضر باید چشم پوشی شوند و یک شرایط سخت باید پیاده شود که ضمانت خوب و رفتار موقتی را فراهم کند که سازگار با هر شرایط محیط باشد.ما این چنین تعریف هایی را پایه می کنیم روی مفهوم چارت های تابع ترتیبی و مود اجرا که توسط آن اشاره می شود.تنها مراحل ترتیبی خطی و شعبات جایگزین این چنین ترتیب هایی اجازه داده می شوند.