A pattern enforcing compiler (PEC) for Java

a practical way to formally specify patterns

Research output: Chapter in Book/Report/Conference proceedingChapter


This chapter describes an extended compiler that formalizes patterns, which we call a pattern enforcing compiler (PEC). Developers use standard Java syntax to mark their classes as implementations of particular Design patterns. The compiler is then able to use reflection to check whether the classes do in fact adhere to the constraints of the patterns. The checking possible with our compiler starts with the obvious static adherence to constraints such as method presence, visibility, and naming. However, we go much further and support dynamic testing to check the runtime behavior of classes and code generation to assist in the implementation of complex patterns. The chapter gives examples of using the patterns supplied with our PEC and also examples of how to write your own patterns and have our PEC enforce these.

Original languageEnglish
Title of host publicationDesign pattern formalization techniques
EditorsToufik Taibi
Place of PublicationHershey, PA; London
PublisherIGI Publishing
Number of pages33
ISBN (Electronic)9781599042213
ISBN (Print)9781599042190
Publication statusPublished - 2007

Fingerprint Dive into the research topics of 'A pattern enforcing compiler (PEC) for Java: a practical way to formally specify patterns'. Together they form a unique fingerprint.

Cite this