Предметно-ориентированные языки программирования (Signature Series)
Мартин Фаулер