PDL - program description language. Этот язык подобен таким языкам программирования, как Java и Ada, но более абстрактен. Достоинством применения PDL для создания спецификации является то, что в такой спецификации можно проверить синтаксис и семантику существующими программными средствами. Эти проверки позволяют удалить ошибки и несогласованность в описании требований.
Рекомендуется использовать PDL в следующих ситуациях.
Если описываемая ситуация состоит из последовательности простых действий и важен порядок их выполнения. Описывать такие последовательности действий на естественном языке порой затруднительно, поскольку их выполнение может сопровождаться вложенными условиями или они могут повторяться циклически.
Если необходимо специфицировать аппаратные или программные интерфейсы, так как практически во всех спецификациях системных требований приходиться описывать интерфейсы.
Наиболее эффективным способом разработки спецификаций является сочетание подхода, основанного на PDL, с использованием структурированного естественного языка. В этом случае формализованные записи на естественном языке используются для описания системы в целом, а PDL - для описания последовательностей управляющих действий или для детализированного описания интерфейсов.
Описание интерфейса сервера печати с помощью PDL
Interface PrintServer {
// определение абстрактного сервера печати
// требуется: интерфейс Printer, интерфейс PrintDoc
// предоставляет функции: initialize (инициализация),
// print (печать),
// displayPrintQueue (отображение очереди на печать),
// cancelPrintJob (удаление файла из очереди),
// switchPrinter (переключение между принтерами)
void initialize ( Printer p ) ;
void print ( Printer p, PrintDoc d ) ;
void displayPrintQueue ( Printer p ) ;
void cancelPrintJob ( Printer p, PrintDoc d ) ;
void SwitchPrinter ( Printer p1, Printer p2, PrintDoc d ) ;
}//PrintServer