The Applications and Enhancement of LePUS for Specifying Design Patterns
Rajeev R. Raje (Indiana University-Purdue University Indianapolis, USA), Sivakumar Chinnasamy (Verizon Information Services, USA), Andew M. Olson (Indiana University-Purdue University Indianapolis, USA) and William Hidgon (University of Indianapolis, USA)
Copyright: © 2007
Standardized pattern representations have become a popular way to capture, classify, and communicate the essential characteristics of software designs. Both books and large Web sites serve as pattern repositories for use by software design engineers. Because they are usually expressed in verbal and diagrammatic form using, say, UML, they are susceptible to ambiguities and the consequent misinterpretation. The goal of this chapter is to illustrate how to represent rigorously Design patterns, in order to avoid this problem, and to analyze the capabilities of this technique. It describes a more formal, logic-based language for representing pattern structure and an extension that can also represent other aspects of patterns, such as intent, applicability, and collaboration. This mathematical basis serves to eliminate ambiguities. The chapter explains the concepts underlying the languages and shows their utility by representing two classical patterns, some concurrent patterns, and various aspects of a few other patterns.