Журнал "Программная инженерия"
Теоретический и прикладной научно-технический журнал
ISSN 2220-3397

Номер 5 2018 год

DOI: 10.17587/prin.9.209-220
УДК: 004.434
LibSL — язык спецификации компонентов программного обеспечения
В. М. Ицыксон, канд. техн. наук, доц., зав. кафедрой, e-mail: vlad@icc.spbstu.ru, Санкт-Петербургский политехнический университет Петра Великого, г. Санкт-Петербург

Большая часть современного программного обеспечения широко использует сторонние библиотеки и компоненты. Такой подход позволяет упросить проектирование и разработку, сократить стоимость создания программного обеспечения и время выхода на рынок. Основная трудность в использовании сторонних библиотек заключается в отсутствии приемлемой документации, описывающей эти библиотеки. Это, в свою очередь, является причиной низкого качества создаваемого программного обеспечения и может приводить к различным программным дефектам. В статье рассмотрены существующие подходы к формальному языковому описанию программных библиотек. Такие языковые описания могут быть основой автоматизации решения определенного класса задач программной инженерии, связанного с многокомпонентными проектами, в которых отсутствует доступ к исходному коду компонентов. На базе сформулированных требований разрабатывается синтаксис и определяется семантика нового языка частичных спецификаций библиотек LibSL. Язык основан на формализме взаимодействующих расширенных конечных автоматов и призван описывать интерфейс и видимое поведения библиотек, необходимые при автоматизации решения ряда задач программной инженерии, таких как поиск ошибок в программных системах, использующих библиотеки, проверка корректности протокола доступа к библиотекам, проверка совместимости библиотек, реинжиниринг программного обеспечения и т. п.

Ключевые слова: программная библиотека, компонент программного обеспечения, частичная спецификация, язык спецификации поведения
Стр. 209–220