Кіріспе
Бағдарламалық жасақтаманы әзірлеу әдісі
B әдісі – компьютерлік бағдарламалық жасақтаманы жасауда қолданылатын, B құралымен қолдау көрсетілетін, абстрактілі машиналық нотацияға негізделген формалды әдіс.
The B method is a method of software development based on B, a tool supported formal method based on an abstract machine notation, used in the development of computer software.
Шолу
B тілі алғаш рет 1980-ші жылдары Франция мен Ұлыбританияда Жан Реймонд Абриал тарапынан әзірленді. B тілі Z нотациясымен (сонымен қатар Абриалдың еңбегі) байланысты және спецификациялардан бағдарламалау тілі кодын жасауға қолдау көрсетеді. B Еуропадағы маңызды қауіпсіздік жүйелерінде қолданылған (мысалы, Париж метросының 14 және 1-ші автоматты желілері, сондай-ақ Ariane 5 зымыраны). Ол спецификацияны, жобалауды, тексеруді және кодты құруды қолдайтын, коммерциялық қолдауға ие сенімді құралдарға ие. Z-бен салыстырғанда, B тілі кодты нақтылауға көбірек бағытталған, сондықтан B-де жазылған сипаттаманы Z-ге қарағанда дұрыс жүзеге асыру оңайырақ. Бұл үшін арнайы жақсы құралдар бар. Бір тіл спецификация, жобалау және бағдарламалау үшін қолданылады. Механизмдеріне инкапсуляция және деректердің локалдығы жатады.
Оқиға-Б
Кейіннен, Роден платформасы қолдауымен B әдісі негізінде "Event B" деп аталатын тағы бір ресми әдіс әзірленді. Event B – жүйелік деңгейде модельдеу және талдауға бағытталған ресми әдіс. Event B-нің ерекшеліктері – модельдеу үшін жиын теориясын пайдалану, түрлі абстракция деңгейлеріндегі жүйелерді көрсету үшін тазартуды қолдану, сондай-ақ осы тазарту деңгейлері арасындағы дұрыстықты математикалық дәлелдеу арқылы тексеру.
Негізгі компоненттері
B белгісі бағдарламалық жасақтаманың жобаны әзірлеу толық циклын қамтитын әртүрлі нұсқаларын нақтылау үшін жиын теориясы мен бірінші реттік логикаға сүйенуге тиіс.
Абстрактілік машина
Бірінші және ең абстрактілі нұсқада, «Абстрактілі машина» деп аталатын, дизайнер дизайнның мақсатын нақтылауы тиіс.
Тазарту
Содан кейін, жетілдіру кезеңінде олар мақсатты нақтылау үшін немесе мақсатқа қалай жетуді анықтайтын дерек құрылымдары мен алгоритмдер туралы мәліметтерді қосу арқылы абстрактілі машинаны нақтырақ етіп көрсету үшін спецификацияны толықтыруы мүмкін. "Жетілдіру" деп аталатын жаңа нұсқасы, абстрактілі машинаның барлық қасиеттерін сақтайтыны және олармен үйлесімді екені дәлелденуі керек. Жобалаушы дерек құрылымдарын модельдеу үшін немесе қолданыстағы компоненттерді қосу немесе импорттау үшін B кітапханаларын пайдалана алады.
Іске асыру
Нақты нұсқаға қол жеткізілгенше жетілдіру жалғасады: Іске асыру. Дамудың барлық кезеңдерінде бірдей белгілеу қолданылады және соңғы нұсқаны компиляциялау үшін бағдарламалау тіліне аудару мүмкін.
B-құрал жиынтығы
B Toolkit – B құралын қолдануды қолдауға арналған бағдарламалау құралдарының жиынтығы, B әдісін қолдау мақсатында жиынтықтар теориясына негізделген математикалық интерпретатор. Оны бастапқыда Иб Холм Соренсен және басқалар BP Research-те, кейін B Core (UK) Limited компаниясында жасады. Құрал жиынтығы GUI басқару үшін арнайы X Window Motif интерфейсін пайдаланады және негізінен Linux, Mac OS X және Solaris операциялық жүйелерінде жұмыс істейді. B Toolkit-тің бастапқы коды қазір қолжетімді.
Б-ателье
ClearSy әзірлеген Atelier B – ақаусыз, расталған бағдарламалық құралды (формалды бағдарламалық құралды) жасау үшін B әдісін операциялық түрде қолдануға мүмкіндік беретін өндірістік құрал. Екі нұсқасы бар: 1) кез келген адамға шектеусіз қолжетімді Қоғамдық нұсқа; 2) тек техникалық қолдау шартындағылар үшін ғана қолжетімді Техникалық қолдау нұсқасы. Atelier B Alstom және Siemens компанияларының дүние жүзіндегі әртүрлі метрополитендері үшін қауіпсіздік жүйелерін жасауға, сондай-ақ ATMEL және STMicroelectronics компаниялары үшін жалпы критерийлер бойынша сертификаттауға және жүйелік модельдерді әзірлеуге пайдаланылды.
Родин
Родин платформасы – Event B-ні қолдайтын құрал.
APCB
APCB (Халықаралық B конференциясының басқару комитеті) B әдісіне қатысты жиналыстар ұйымдастырды. Ол Z пайдаланушылар тобымен ZB конференцияларын және ABZ конференцияларын, оның ішінде Абстрактілі мемлекеттік машиналарды (ASM) және Z нотациясын ұйымдастырды.