Жүйедегі қателерді талдау мен қайта өңдеу

Автор работы: Пользователь скрыл имя, 01 Декабря 2012 в 20:03, реферат

Описание

Көпшiлiк негiзгi басқару жүйе автор бұл сипаттамасында еруге тырбыңдауға «дайындама» құрылымдық программалау басқарды. Егер түзулылық олардың дәлелденген болса дәлелденген құрылымдық бағдарламалардағы қателердiң мәселелерi болмағанын жиi ойлайды. Өкiнiшке орай, қазiргi жағдай түзулылық дәлел ретiнде қой мұндай күрделi програмдар, ешқандай да сенiмдiлiк тексерудiң жанында берме қазiргi басқару жүйелерiн болып көрiнедi. Қорыта келгенде, жүйенiң сiзiнiң жобалаушысы табылу үшiн шара қолдануы керек болатын және жүйеде қателiктердi өңдеу

Работа состоит из  1 файл

Реферат.docx

— 39.76 Кб (Скачать документ)

1. Жүйедегі қателерді талдау мен қайта өңдеу.

Көпшiлiк негiзгi басқару  жүйе автор бұл сипаттамасында еруге тырбыңдауға «дайындама» құрылымдық программалау басқарды. Егер түзулылық олардың дәлелденген болса дәлелденген құрылымдық бағдарламалардағы қателердiң мәселелерi болмағанын жиi ойлайды. Өкiнiшке орай, қазiргi жағдай түзулылық дәлел ретiнде қой мұндай күрделi програмдар,  ешқандай да сенiмдiлiк тексерудiң жанында берме қазiргi басқару жүйелерiн болып көрiнедi. Қорыта келгенде, жүйенiң сiзiнiң жобалаушысы табылу үшiн шара қолдануы керек болатын және жүйеде қателiктердi өңдеу.

Болжаймыз, түзулылық әлгiде дәлелдеп алудың сәтi түсетiн - модульдардың жазылған сiздерi. Егер олар дұрыс болса, жұмыстың авторларын модульдардың жұмысының жанында жағымсыз оқиғалар бола алғанын жорию. Iшiнара түзулылықтың тұжырымдамасы құрылымдық программалау өйткенi қате ерекшелiк құралы бар болатын ойда негiзделедi. жорию, әр iшкi программаны әрқашан дұрыс орындаған. Тiптi, әр мұндай iшкi программа тұратын бағдарлама оны мiнез-құлығы өз қате ешқашан болмаған жорамалда жазылады. Жұмыстың авторлары бұл жорамал келесi адалдық еместiң дәйектемелерiн ұсынады:

1. Тiптi құрылымдық программалау  бойымен жақсы мамандарды кейде  жаңылады ; олар егер жаңылмас едi, қате ешқашан болмады.

2. Эем, алайда бiздi пайдаланатын  «сбоят» және бұл мәлiметтер өзгертетiн бағдарламаның қате жұмысын шақыра алады, немесе кодтар.

3. Бағдарлама iс жүзiнде  бұрын пайда болмаған қате  анықтай алған периодты өзгерулер шыдайды.

4. Жүйеге қате енгiзе алады немесе келiсiлмеген мәлiметтерлер.

Бұдан әрi авторлар қатенiң  ажырата қарайды және жағымсыз оқиғамен. Бұл —-шы қате онда, обнаружено болуы керек болған және (жүйе терең бiлiм не жорию) түзеткен. Басқа жағынан, жүйенiң қалыпты мiнез-құлығынан ауытқу бұл —-шы жағымсыз оқиға. Демек, жағымсыз оқиғаларды бiлiнiңiзғана емес, сонымен бiрге (өйткенi түзету артық дұрыстау функцияны негiзiнен болып көрiнедi) олардың жұмыстаныңыз да сiз. Қалпына келтiрудiң ортақ алгоритмы жағымсыз оқиғадан кейiн болмайды, үшiн оныларды ашатынын болжау, және бiзi соншама емес менменшiлмiз. Бiз болмаймыз да қатенiң аралығында айырмашылықта әрi қарай тереңдетсiн және жағымсыз оқиғамен, себебi бұл тек үлкенiрек шатақ бағытталды.

Бөлiм қорыта келгенде, бұл  кейбiрi әкелiнген жағымсыз оқиға мән қате қателiктердi өңдеу туралы ойла. Мысалы, бiз алайда Араның архитектурасына ұйым программ туралы пiкiрлердiң қатары айтамыз ) және мүмкiн қателердiң түрлерiн болжау туралы бiрнеше жөн-жобалар.

1.1. Қателiктердi өңдеу.

Бұл қате — эем үшiн  программалауда «өмiрлiк айғақ». Қарағанда  қателердi онда бағдарлама күрделiрек, сол артық. Басқару жүйесiне қандай туралы Ниа онда дәл деп айтуға болмайды қате жоқ, бiр жағынан бол қателер (әзiрше ) обнаруженными емес бола алады. Бағдарламалық қамтамасыз етудiң жасауын тәжiрибенi бағдарлама ол қартаюын өлшем бойымен жақсаратынын ол туралы сөйлейдi. Бұл математикалық қамтамасыз етуде қатеде болатынын бiлдiредi, және шығарады немесе түзетiледi. Дегенмен бұл тәжiрибенi олардың табылуы қателерiн санын кiшiрейтуiн өлшемi бойымен бәрi қиындау болатынын есiне салады, және кезектi қатенi табылу орташа күн уақыт өседi. Рухтандырғыш емес нәтиже бұл, өйткенi оны бiз соңғы программадағы қателiктi ешқашан таппайтынымызды жүзеге асатындай бiлдiредi. Егер бiздердi жобала қателердi (табылмаған ) бар болу ұстап тұрған жүйе «табанды», дегенмен бұл бәрiсi болып көрiнгендей қорқынышты, және алайда пайдалы жұмысты орындайды.

Болжаймыз, верн бағдарламаның  кiретiн мәлiметтермiз. Басқару жүйесi бұл бiздiң жағдайда —-шы бағдарламасы, ал қолданбалы бағдарламалар бұл данные—сi немесе командалық тiлдiң операторлары. Қателердi қолданушы бiрнеше iшкi жүйелiк көздiң нүктесiмен болады: аппаратураның қатесi, математикалық қамтамасыз ету және программалау. Эем аппаратураның қатесi қазiргiге әжептәуiр сирек және жеңiл мәлiм болады, ал мүмкiн және мүлдем орындамау, өйткенi бағдарлама анық терiс нәтиженi бередi. Егер қате түзетуге болмаса тiптi, эемi көбi (жадтың қатеген сияқты) қарапайым қателерi түзете алады немесе жұмыс iсте, жабдық сала бiртiндеп шығатын. Бичом қондырғы көпшiлiгiнде қиын керемет табатын аппаратураның кездейсоқ қателерiнде болады, және зор дәт талап еткендерi және аппаратурасының елеулi өнер-бiлiмi және себеп олардың анықтауы үшiн математикалық қамтамасыз етуi.

Математикалық қамтамасыз етудiң қатесi да әдетте сирек жүйе «өндiрiстiк», онда қиын олардың, бiрақ егер оларларда болады. Бұл қателердi жағдай әйтеуiр жүйенiң терiс жобалауы нәтижесi болып табылады немесе өткiзудiң жанында қате шешiмдерi. Олар, кәдiмгi жүйелiк операцияларда бiлiнбегенiнде емес, жүйенiң ерекше жүктеуiнiң жанында болғанында. Мысалы, олар мағына бұл кездейсоқ болып көрiнедi және екi бағдарламаның әр түрлi факторларын әсер нәтижесiнде бола алады енгiзу-қорытынды осы тiзбекте програм¬мамға қарайды).

Ең көп программалаудың қатесiн болып көрiнедi, бiр жағынан бұл санатты қамтию сонымен бiрге жүйелiк қателер. Программалаудың қатесi келесi таптарға бөлуге болады:

1. Түсiнушiлiктiң қатесi: жобалаушы  басталған жұмыс, оқып шығылмап немесе, спецификация толық түсiнбеп.

2. Толық деңгейде жүйенiң ойлауында қатенi бiлдiретiн логикалық қателер.

3. Бұдан әрi ұсақтар едi: кодтаудың қатесi, ал ) синтаксистiк  қателiк бұл құрылымдарды түсiнбеудiң  нәтижесi және тiлдiң операторлары ; ) операторларды терiс өзара iс-әрекет пайда болатын құрылымдық қателер немесе мәлiметтерлердi терiс жобалау структур ; ) түсiнбеудiң нәтижесiнiң семантикалық қателер, болып табылатындары тiлдiң операторын орындаған.

Ошибок/чемнiң өңдеуiне туралы —-шы бұл бөлiмдi мақсат кәдiмгi басқару  жүйесi мәтiндерiндегiн табуға болуға едәуiр көп әңгiмелеу. Бiз қателердi пайда болу ықпал ететiн мұнда кейбiр факторларды талдаймыз, және қателердi бар болуға басқару жүйесiнiң тексерiсiн әдiстi ұсынамыз.

1.2. Қателiктердi өңдеудiң қағидаттары.

Құрылымдық программалау программадағы қателiк ерекшелiк құралы сияқты насихаттады. Осы уақытта жорамал бұл, жобалау сатысында, басқару жүйелерi мүмкiн, дұрыс аппаратураның бас-сирақтары артынан қате ұшыраған немесе бағдарламада шынымен әжептәуiр қаралмайтын келiспейтiн мәлiметтерлер. Тiптi, (құрылымдық жобалау олардың салдарынан) бағдарлама iштей есепте қателерге «топас». Себебi құрылымдық бағдарламалар төменгi деңгейдiң модуль жүзеге асырылатын абстрактiлi машиналарға сал қателердi тексерiс туралы шешiм абстрактiлi машиндарды деңгей мүмкiн берiлген болған бұданға жорию.

Iс жүзiнде, мұндай сирек  болады, және қатеде маңызды тексерiс  әр деңгейде жүзеге асыруы керек. Бұл ақтаған, өйткенi әр төменгi деңгейдi иерархиялық жiктелген жүйеде өнер-бiлiмсiз жоғарғы жасаған жұмыс iстеуi керек. Тiптi, жағдайлар, қашан төменгi деңгейлер сол тұрақты «сергектiлiк» лектес болу керек әр түрлi адам мүмкiн жазылған жоғары деңгейдiң көп модульдарымен жұмсала алады.

Қателiктердi өңдеудiң қағидаттары тармақ арналған бөлшектеу қиын, өйткенi оның көптерi басқару жүйесi үшiн ерекше болып көрiнедi. Алайда құрылымдық программалауды нәтиже негiзiнде кейбiр ортақ қағидаттар көрiнiп қалады. Қағидат бiрiншi (құрылымдық программалауды нәтиже қалай) жүйе туралы өнер-бiлiм оқшаулауға қатысты. Бiр жағынан қате жұмыс iстейтiн жүйенiң төменгi деңгейiнде, жоғары деңгейлер туралы бiлмей мүмкiн бол, қатеге тиiстi реакция үшiн қажеттi ақпарат жоғары деңгейде болатында iс. Демек, мәлiметтер дұрыс қателiктердi өңдеу үшiн бiр деңгейге үстiне берiлген болуы керек. Дегенмен бұл жоғарғы деңгейдi модуль қате «оқшаулау» болсынауға қабiлеттуi керек, үшiн қалған iшкi жүйелердiң жұмысында ол.

Екiншi қағидат жүйелiк спецификацияларды бұзатын қатенi кездестiрген сұрақ тиюды. Жұмыста ұсынылады, үшiн бұл өйткенi абстрактiлi машина алды. әр жүйенiң деңгейi оның функциялары қате болатын орындаудың жанында бiлiнедi. Қате, машинада қашан бол шақырады немесе қателiктердi өңдеудiң арнаулы бағдарламасымен қарпылады. Бұл негiзiнен тұжырымдаманы сақта «ақпараттың жасыруы»: қателiктердi өңдеудiң бағдарламасы ие болады тек сол өңдеу үшiн қажеттi өнер-бiлiмдер. Өкiнiшке орай, мұндай тетiктi өткiзудiң жанында едәуiр өседi және басқару жүйесiнiң өлшемi. Ақылды ымыра қателiктердi өңдеу необходим тетiгiн қоныстың анықтамасы үшiн.

Үшiншi қағидат көрcетiлген жоғары мәселе: модульдардың спецификациясы қате болжауы керек бередi. Олардың жұмысында ата үлкен ықтималдықтарда болуға ие болған бұл маңыздың неде «абстрактiлi қателермен». Барлық деңгейлерге әр қатенi мүмкiн емес тексерiлетiн анық. Анықтау программ системi тәжiрибенiң түзулылықтың тексерiсiнiң кодтары жеңiл екi есе өсiре алғанын көрсеттi, немесе модульдың өлшемi үш еселеу. Қорыта келгенде, екi сiз систем жобалауда қабылдағаныз ең сыни шешiмдермен, тексерiлетiн қателер туралы сұрақтарды болып көрiнедi және тексерiстi жүзеге асырылатын орын туралы.

Қателiктердi өңдеу сол  қате екi бағыттарға тарай алады: жоғарылы-төмендi ретiнде айғақты есептеумен хабар алу тиiстi. Қате үстiне таралып жатқан дұрыс пайдаланған тетiкте бас-сирақ нәтижесi болып табылады немесе төменгi деңгейдiң какомға қатенiң саяжайы. Қате төмен таралып жатқан келiсiлмеген әдетте нәтижесi болып табылады немесе үстiнде берiлетiн қате мәлiметтерлер. Сiрә, мұндай қателер алдыңғы деңгейге кейiн «қайтарған» болуы керек, өйткенi төменгi деңгейдi модуль анықтама үшiн жеткiлiктi өнер-бiлiмдермен ескеретiн әдетте (және ие болуы керек бол) ие болмайды. Төменгi деңгейден, ол қателiк туралы хабар қашан деңгей қалпына келтiру мүмкiн талпынуға алады немесе келесi жоғары тұрған деңгей қате туралы хабарлау.

Егер жеткiлiктi ақпарат  жоқ болса, оны жiктелген жүйесiнде  қатесiн табылуында ол түзеткен иерархияның  жоғары тұрған деңгейiне беруi керек, немесе, алып бередi. Қателердi әр басқарудың бағдарламасын деңгейде спецификациялармен келiсетiн мәртебеге абстрактiлi машинаның мәртебесi қалпына келтiруге жауапты болады. Бұл модульдардың шақыруларын тiзбектiң шешуiн процесс ақпарат қағидат сәйкес қате пайда бол «ақпараттың жасыруы» ол туралы бермейдi.

Бөлiм бұл қалпына келтiрудiң стратегиясы туралы толық сөйлемедi және диагностика және, мүмкiн, сөйлеу керек емес. Ол жағдай көпшiлiгiнде жобалаушыдан бағынышты болады және нақты қондыру, ортақ қағидатта сондықтан болмайды. Дегенмен мұндай тәсiл кейбiр артықшылығы болады:

1. Әр қателiктердi өңдеудiң рәсiмi спецификация сәйкес дұрыс өңдеу үшiн ақпарат бар болатын деңгей том жазылады.

2. Жүйе сенiмдiлiк үлкен өзгерiстерсiз мүмкiн көбеюге қарай мiнсiздiкке жету. Қателiктердi өңдеудiң бағдарламасы өз есiм басып шығаратын қарапайым, мүмкiн ғана басталады және iшiндегi қате регистрлер. Жиi пайдаланатын бағдарламалар дамудың өлшемi бойымен күрделiрекке алмастырылады.

3. Егер жүйе көп бағдарламашылармен жасаса қармау механизмы шектелген қолдану талқылауды ықшамдайды. Ешкiм барлық жүйенiң бөлшектерiн бiлмейдi. Қате, мүмкiн қып-қиын жауапты талдауға таңдауға мiндет бол қашан көрiнiп қалады. Тiптi қате пайда болатын модульдың есiмiн мөр, үлкен көмек қателiктi iздестiруде мүмкiн көрсету.

1.3. Қателердiң түрлерiн тiзiм.

Бiз оның нәтижелерi талқылаймыз, себебi олар бiз туралы ұсыну жүйенiң жобалауында алуы керек қателердi белгiлi ортақ таптардың көрсетедi.

Қалай программа жасаушы  қателердi iздестiру есепте бiрнеше деңгейлерге  хабар алу тиiстi. Қатесiн себеп  мәселесiн күрделiлiгiнiң аралығында айырмашылығымен сияқты анықталады және оны (т. қолданылатын құрал-жабдықтарын  адекваттылығымен. неге басқа сол  үшiн болу керек, үшiн қатеде болмады). Қателердi келесi себептер танып бiлiнедi: технологиялық, ұйымдастыру, тарихи, тобының серпiнi, дара тағы басқалар ные өлшем, тәсiл бәрi қате мәнi сақтап қалуы айырмашылық қысқарту. Атап өтiледi, оның шектеуiнiң екi жолында әрқашан болған: немесе нақты мәселенi шешiм үшiн пайдаланатын қаржыны үлкейту, үшiн болған iсiнiң қолданылатынырақ қаржысымен, немесе осылай процестi түрлендiру.

Ол бұл қателер әр түрлi топтан жiктедi және әр тап үшiн қателердi кейбiр факторларды анықтауға азаптандырды. Жұмыстың авторымен қателердi таныстырылған негiзгi факторлар, обнаруженные 600 станциясында кестеде 95J және оның әрiптестерiмен.

1.4. Қате туралы пiкiр модульдың жобалауында.

Модульдың қашан берiлген спецификациясы, сiз қателiктердi өңдеудiң  тәсiлдерiне болған шектеу туралы ұсыну  алуы керек, және күту керек болатын қателердiң түрлерi туралы. Түрде спецификациялардың құрастыруында ие болу керек болатын кейбiр негiзгi пiкiрлердi төменде тура келедi, және модульдардың жобалауы.

Керек модульда жоғары деңгейлермен оған берiлетiн параметрлердi мағынада шектеудi ескерген анық. Кез-келген бағдарлама мағыналар, процестердi болса дискiлi мекен-жайлар, идентификатор ғана шектелген ауқыммен мүмкiн жұмыс iстесiн немесе тағы да не. Егер параметрдiң ағымдағы мағынасы мағыналарды ауқымнан шекарадан асса қате туралы хабарлау керек. Егер құрастырманың жанында тексерiсi жеткiлiктi болса, орындауы кейде тексерiсi уақытында шығарылып тасталған бола алады, үшiн қате мағыналарды лақтырып тастау.

Белгiлi модульдар жүйенiң  күйi туралы ақпараттың сақтауына жауап бередi және, қорыта келгенде, мүмкiндiктер iшкi шектеуi болады. Шексiз жадпен жұмысқа ; олар сондықтан қате туралы хабарлауы керек кепiлдiк бере алған математикалық қамтамасыз етудiң бағдарламасында қазiргi уақытта болмайды, ықтимал мекен-жайларды шегiн қашан асады. Белгiлеу керек, қабiлеттiлiк жобалаудың маңызды қырымен жағдай болжауға болып көрiнген оны (т. мұндай қатесiнде қашан болады. қол жететiн ауқымды анықтау). Мәтiн түсiндiрiп жатылатын ресурстардың бiрнеше мониторларының кезегi элемент мұндай тетiктi мысал таныстырады.

Көп модульдар жүйенiң күйi туралы ақпараттың хабарламасы үшiн әдейi жобаланған. Мүмкiн жағдай, ол құруға болатынын сияқты алдында сұрау салынған ақпараты қашан болады, немесе ол сияқтығаннан кейiн мәлiметтерлердi элементтен алып тасталды. Әр мұндай жағдай үшiн қате көрсету керек. Оқиға, оқиғаның мәртебесiне қашан жаса мағынаны беруi, бас-аяқсыз оқиғаны мойын көрсеткен болуым керек. Бұл шартты сақтамау сұрау салатын процестер қате бейненiң оқиғаның iшiндегi мәртебелерi түсiндiрген бұданға алып келедi.

Белгiлi операциялар орындау ретiн иерархиялық жiктелген жүйеде модульдардың жобалауына шектеу мүмкiн үстiне қою. Кәдiмгi себептер бұл тиiмдiлiктiң пiкiрi, өткiзудiң оңайлығын қосады немесе қателердi табылудың жақсартылған мүмкiндiктерi. Анық мысал файлдарды менеджердiң талабы қызмет етедi, үшiн файл сол алдында ашық, ол ретiнде оқу үшiн бет бұруға болады немесе жазба. Басқа мысал оларында бiрдеңесi жазылған болатын оғанды сегменттелген файлдың мәлiметтерлерiнiң блоктерiн оқу тиюды. Негiзгi ереже модульдың қалған функцияларын орындауды алдында белгiлi шарттарды орындаудың тексерiсiн болып көрiнедi.

Жүйенiң оғаш әрекеттерiне бағытталатын программалаудың қателерiн ортақ таптың көрсетiлдi. Мысалдардың бiрлерi қолданушы әрекетке қатысты ендi ашылған файлды ашу. Кейбiрi ғана орта қолданушы «незлоумышленных» тиесiлi жүйе бұл шартты тексерiс туралы ойлайды. Басқа жағынан, кейбiр жүйелерi шарт бұл iлiгедi бұл ашық файл ендi болуы мүмкiн бе? тексерiстiң тәсiлi. Күмән әрекеттi пайдалану бұл (дұрыстаушыға күтуген сияқты) арнаулы операцияларды кодтау үшiн қаржы қауiптi болып көрiнедi. Егер қолданушы бұдан тәуелдi болып тұрған болса, олар модульдың спецификациясы, апаттық кiруi жүзеге асыра немесе шығу бұза алады. Түсiнiксiз әрекеттер қоздыра алады және қолданушы ұялту. Бiз қате туралы оңай хабарлайтынын есептеймiз, және мұндай шартты табылудың баламалы құрал-жабдығын қолданушыны беру.

Информация о работе Жүйедегі қателерді талдау мен қайта өңдеу